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