WSO2 ESB改变了wsdl

时间:2013-03-06 12:02:54

标签: wso2 esb

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

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

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

这样的approch是可能的还是我需要再次生成存根(这在我的情况下需要很多努力)?

编辑:端点和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">

1 个答案:

答案 0 :(得分:4)

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

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

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

relevant documentation is here