On Tuesday, December 13, 2011 12:20:21 PM Rahul Somasunderam wrote:
> Hi,
> 
> I'm working on a health project. There are a bunch of standards that we use
> that are available to us as a WSDL. The WSDLs are located at
> ftp://ftp.ihe.net/TF_Implementation_Material/ITI/wsdl/
> 
> However different implementors serve the WSDL with different namespaces in
> the WSDL. And this seems to make it hard for me to integrate with any
> random implementor.
> 
> For instance, this is my own server using CXF -
> http://107.20.211.185/hd/services/xdsregistryb?wsdl This is NIST
> implementing the same using Axis2 -
> http://ihexds.nist.gov:9080/tf6/services/xdsregistryb
> 
> I've created a testcase that shows how my CXF client code fails.
> 
> How am I to deal with changing namespaces in WSDLs?

Well, that Axis2 wsdl is COMPLETELY bogus compared to the specifications that 
you list in the first link.   It's not just the namespaces.  (the namespaces 
ARE part of the spec and thus the services that implement the standard/spec 
should be respecting that)   However, the structure of the messages are also 
completely different.    Look at the request for the AdhocQuery operation.

For the spec and for the CXF service, a SOAP:Body would have a child element 
of:
{urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0}AdhocQueryRequest

For the Axis2 service, the soap body would actually be empty.  No content what 
so ever.   The message in the wsdl looks like:
<wsdl:message name="AdhocQueryRequestRequest"/>

Basically, the CXF service properly looks like the standard, the other one 
does not at all resemble it.

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to