1

我有一个后端服务,我在 WSO2 ESB 中配置为代理服务。

ESB 公开了稍微不同的 wsdl,这也是有效的并且可以按预期工作。

问题是由于结构发生了变化,我无法将旧存根与 ESB wsdl 一起使用。我想以这样一种方式创建服务,即来自 ESB 的 wsdl 与我的端点服务完全相同。

这种方法是可行的还是我需要再次生成存根(在我的情况下这需要付出很多努力)?

编辑:端点和 esb wsdl 之间 WSDL 的区别 1. 例如,我的端点有以下标签

<xs:element name=", - Endpoint
<xsd:element name=  - ESB

2.另一个区别是:

<wsdl:service name="CasesServiceService"> - Endpoint
<wsdl:service name="CasesService"> - ESB

3.端口名称:

<wsdl:port name="CasesServiceHttpSoap11Endpoint" binding="tns:CasesServiceSoap11Binding">
<wsdl:port binding="tns:CasesServiceServiceSoapBinding" name="CasesServicePort">
4

1 回答 1

4

为了使 WSO2 ESB 使用完全相同的服务/端口名称保持相同的 WSDL 合同,您可以直接为您的代理服务编辑 Apache Synapse 配置文件。只需点击 WSO2 ESB 界面中的“Source View”,将以下参数添加到<proxy>节点:

<parameter name="useOriginalwsdl">true</parameter>
<parameter name="modifyUserWSDLPortAddress">true</parameter>

这将使它使用原始的 WSDL 并仅修改端口地址,使其指向总线。

相关文档在这里

于 2013-04-08T12:50:49.000 回答