Hi Glen,

that is the theory. In practice the small differences between the original wsdl and the wsdl from the endpoint can cause problems with code generators or at runtime. Of course these problems should not happen and may even be bugs either in the wsdl generation or in the code generator. In practice the safest way to achieve interoperability is to create the wsdl at one place, make sure it works for all platforms and then always use this wsdl.

Christian


Am 16.06.2011 00:10, schrieb Glen Mazza:
I'm unsure about that. It is defined in the JAX-WS specification that endpoint + "?wsdl" gives you the real-time contract that the endpoint supports (which is a solid benefit of SOAP services), so I can't see that reliance on that when generating artifacts is really all that suboptimal. Indeed, generating JAX-WS artifacts using repository-kept WSDLs that potentially diverge from what the endpoint is advertising via ?wsdl seems to carry its own risks, as you end up having two sources of record over what the contract is. You can't just ignore the endpoint WSDL, because AFAIK the ?wsdl address, per the JAX-WS specification, is the authoritative contract supported by the endpoint--otherwise, it would seem to be a CXF bug if the endpoint were publishing WSDLs that weren't what the endpoint is actually supporting.

Glen

--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com

Reply via email to