gpt4 book ai didi

web-services - 导出到 OSB 后代理服务器中的 WL5G3N0 表示法

转载 作者:行者123 更新时间:2023-12-03 09:25:02 27 4
gpt4 key购买 nike

我需要在 OSB 中虚拟化一个 Web 服务,但最终的 wsdl 与业务服务相同(它是一个 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。

有人知道我该如何解决这个问题吗?

谢谢

最佳答案

您注意到行为有什么不同吗? namespace 是您的示例中唯一要更改的内容,任何客户端和服务都可以更改或以不同方式调用这些内容。

假设我是一名客户,并且我特别喜欢在 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 服务,而这些 碰巧 被映射到它们自己的类型之一,例如重新映射消息类型,或输入输出类型。

关于web-services - 导出到 OSB 后代理服务器中的 WL5G3N0 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22972528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com