我有一个后端服务,我在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">
答案 0 :(得分:4)
为了使WSO2 ESB与完全相同的服务/端口名称保持相同的WSDL协定,您可以直接编辑代理服务的Apache Synapse配置文件。只需单击WSO2 ESB界面中的“Source View”,然后将以下参数添加到<proxy>
节点:
<parameter name="useOriginalwsdl">true</parameter>
<parameter name="modifyUserWSDLPortAddress">true</parameter>
这将使它使用原始WSDL并仅修改端口地址,使其指向总线。