[Xml-compile] Accessing schemaLocation attribute url values inside <include> elements

Mark Overmeer mark at overmeer.net
Fri Jul 16 21:44:35 GMT 2010


* Morad IGMIR (migmir at alliancemca.com) [100716 14:20]:
> For instance, the inherent problem to using Document/Literal is that this :
>   <soap:address location="http://host.domain.tld/Action" />
> ...defines where the request goes.
> 
> This file is accessible through http://127.0.0.1:10000/static/service.wsdl
> But then I need to make it accessible to clients and proxy services on other
> hosts.

The soapAction is ment for proxys, to route the SOAP messages to
the correct server behind it. Only for that purpose, officially, but
sometimes abused...

> <soap:address location="http://127.0.0.1:10000/ws/Login" />
> Says go to 127.0.0.1
> Service_80.wsdl where everything but soap:address of that one method isn't
> the same
> <soap:address location="http://authservice.domain.tld/ws/Login" />
> <soap:address location="https://authservice.domain.tld/ws/Login" />

This is not an uncomon problem. Often, the addresses specified in the
WSDL are wrong. Therefore, I expect you can overrule that in most (if
not all) existing client libraries.

In XML::Compile, you can pass an 'endpoint' to compileClient() to
replace the whole location, or 'server' to replace only the hostname/port
part. You do not need separate WSDLs.
-- 
Regards,
               MarkOv

------------------------------------------------------------------------
       Mark Overmeer MSc                                MARKOV Solutions
       Mark at Overmeer.net                          solutions at overmeer.net
http://Mark.Overmeer.net                   http://solutions.overmeer.net




More information about the Xml-compile mailing list