【发布时间】:2012-03-03 16:05:49
【问题描述】:
有没有人知道可以将 RPC/Encoded WSDL 转换为 RPC/Literal 的工具或“黑盒”?我没有能力更改 API(它不是我的),但我想使用的工具不支持 RPC/Encoded。我想看看是否有人创建了一个简单的黑盒通信转换器。
我想使用 wave maker,但我不是程序员,所以我正在寻找一种工具来处理翻译。
【问题讨论】:
有没有人知道可以将 RPC/Encoded WSDL 转换为 RPC/Literal 的工具或“黑盒”?我没有能力更改 API(它不是我的),但我想使用的工具不支持 RPC/Encoded。我想看看是否有人创建了一个简单的黑盒通信转换器。
我想使用 wave maker,但我不是程序员,所以我正在寻找一种工具来处理翻译。
【问题讨论】:
如果您要更改 WSDL 的编码,那么 SOAP 消息将更改为:
RPC/编码消息示例
<soap:envelope>
<soap:body>
<myMethod>
<x xsi:type="xsd:int">5</x>
<y xsi:type="xsd:float">5.0</y>
</myMethod>
</soap:body>
</soap:envelope>
RPC/文字消息示例
<soap:envelope>
<soap:body>
<myMethod>
<x>5</x>
<y>5.0</y>
</myMethod>
</soap:body>
</soap:envelope>
http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/
因此,仅翻译 WSDL 是不够的,因为您可以看到 SOAP 消息之间的差异。
您可以创建一个充当中间人的组件:
但是这个组件需要在你的具体情况下实现,没有什么神奇的工具。
【讨论】: