Question

I need to virtualize one web service in OSB, but the final wsdl is the same as the Business service (it's a asxm and everything is only in one file), this is OK, but after exporting the wsdl has a differente notation, please see the examples below:

Expected and original

<wsdl:output>
        <soap:body use="literal" />
        <soap:header message="tns:GetPPDeluxeSubscriberInformationVersionInfoHeader" part="VersionInfoHeader" use="literal" />
      </wsdl:output>

The one I get:

<WL5G3N0:output>
        <WL5G3N2:header message="WL5G3N1:GetPPDeluxeSubscriberInformationVersionInfoHeader" part="VersionInfoHeader" use="literal"/>
        <WL5G3N2:body use="literal"/>
      </WL5G3N0:output>

I'm getting this notation WL5G3N0 or WL5GN1 instead of soap, wsdl or tns.

So anyone knows how can I fix this?

Thank you

Was it helpful?

Solution

Do you notice any difference in behavior? The namespcaes are the only things being changed in your example, and those could be changed or called differently by any client as well as the service.

Say I'm a client and I have some particular fondness of using my company name for components in the WSDL schema. As long as I declare what the "http://schemas.xmlsoap.org/wsdl/" schema maps to in my xmlns, the server will read and interpret it appropriately:

<wsdl:definitions targetNamespace="http://my-awesome-company.com/SomeWebService" xmlns:whateverYouWantHere="http://schemas.xmlsoap.org/wsdl/" ...

I can specify tags in the schema for wsdl types like so:

<whateverYouWantHere:message>...</
<whateverYouWantHere:portType>....

Etc., etc.

OSB does this when providing a proxy, as it's a proxy for not just your service, but possibly hundreds or thousands of others. There would be serious namespace collisions if you were to write a web service that is using some defined xmlns that coincidentally were mapped to one of their own types, such as a remapping of a message type, or input or output types.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top