2

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

zepol
  • 187
  • 5
  • 20

1 Answers1

5

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.

Nick Klauer
  • 5,893
  • 5
  • 42
  • 68
  • Thank you, I got it, so I won't any problems when the client tries to use the WS, because he's expecting the same as the old one – zepol Apr 10 '14 at 22:12
  • Correct. It all boils down to [XML Namespace support](http://www.w3.org/TR/2006/REC-xml-names11-20060816/#sec-intro), which I expect most (all?) clients to be following if they want to talk to anything XML-related. – Nick Klauer Apr 11 '14 at 11:38