1

我是 WSO2 EST 世界的新手,所以我下面的问题可能有点可悲,但我只是想尽快寻求帮助。

我有一个远程 Web 服务的 WSDL,但它只出现在 SOAP 1.2 中。我的应用程序只能使用 SOAP 1.1 WSDL。于是我安装了WSO2 ESB,添加了新的代理服务,即直通代理,在“已部署的服务”列表页面,我在新创建的服务行右键WSDL 1.1,使用“另存为”保存WSDL 1.1版本. 但是,此 WSDL 中唯一可用的操作是“调解”,仅此而已。

我想要做的只是能够在不改变任何东西的情况下在原始 WSDL 上提供所有操作。我想使用 WSO2 ESB 提供的 WSDL (1.1) 使用相同的操作,该 WSO2 ESB 使用 SOAP 1.2 与远程 Web 服务进行通信。

提前致谢。

4

1 回答 1

2

您需要指定“发布 WSDL”选项并相应地创建 WSDL。如果未指定发布 WSDL 选项,它将仅显示中介操作。

阅读以下文档以了解更多信息。

http://docs.wso2.org/wiki/display/ESB470/Adding+a+Proxy+Service#AddingaProxyService-PublishWSDLOptions

http://maharachchi.blogspot.com/2013/07/publishwsdl-option-in-wso2-esb-explained.html


编辑 -您可以在代理配置的端点中将格式属性指定为 SOAP 1.2,以将所有请求转换为 SOAP 1.2。示例代理配置如下

<proxy xmlns="http://ws.apache.org/ns/synapse" name="EchoProxy" transports="https,http" statistics="disable" trace="disable"
   startOnLoad="true">
<target>
  <outSequence>
     <send/>
  </outSequence>
  <endpoint>
     <address uri="http://localhost:8280/services/echo" format="soap12"/>
  </endpoint>
</target>
<publishWSDL uri="http://localhost:8282/services/echo?wsdl"/>
<description/>
</proxy>
于 2013-08-15T07:50:50.390 回答