首页 文章

在OSB中导出后,代理服务器中的WL5G3N0表示法

提问于
浏览
1

我需要在OSB中虚拟化一个Web服务,但最终的wsdl与Business服务相同(它是一个asxm,一切只在一个文件中),这没关系,但是在导出后wsdl有一个不同的符号,请参阅以下示例:

期待和原创

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

我得到的那个:

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

我得到这个符号WL5G3N0或WL5GN1而不是soap,wsdl或tns .

所以任何人都知道如何解决这个问题?

谢谢

1 回答

  • 3

    你注意到行为有什么不同吗? namespcaes是您示例中唯一被更改的内容,任何客户端和服务都可以更改或调用它们 .

    假设我是一个客户端,我特别喜欢在WSDL架构中使用我公司名称的组件 . 只要我在 xmlns 中声明“http://schemas.xmlsoap.org/wsdl/”架构映射到什么内容,服务器就会正确读取和解释它:

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

    我可以在模式中为wsdl类型指定标签,如下所示:

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

    等等

    OSB在提供代理时会这样做,因为它不仅是您的服务的代理,而且可能是数百或数千个其他服务的代理 . 如果您要编写一个使用某些已定义的 xmlns 的Web服务,那么会发生严重的命名空间冲突,这些事件巧合地被映射到它们自己的类型之一,例如重新映射 message 类型,或 inputoutput 类型 .

相关问题