WSO2 EBS-WSDL代理 - 2端口

时间:2013-06-20 08:22:23

标签: proxy wsdl wso2 esb wso2esb

我们想在WSO2 ESB上创建一个WSDL代理。 WSDL定义了2个端口,每个端口定义自己的端口 操作。 问题是当我创建WSDL代理并指定其中一个端口时,与该端口关联的操作未公开,而是暴露与端口2相关的操作...看起来无论我指向哪个端口,操作暴露无变化.. 我的问题是如何使这项工作,或WSO2 ESB不支持WSDL中的多个端口?

......
<wsdl:portType name="IxxxxService">
    <wsdl:operation name="xxxRecordEntry">
        <wsdl:input
            wsaw:Action="http://tempuri.org/IxxxService/xxxRecordEntry"
            message="tns:IxxxService_xxxRecordEntry_InputMessage" />
        <wsdl:output
            wsaw:Action="http://tempuri.org/IxxxService/xxxRecordEntryResponse"
            message="tns:IxxxService_xxxRecordEntry_OutputMessage" />
    </wsdl:operation>
    <wsdl:operation name="xxxRecord">
        <wsdl:input
            wsaw:Action="http://tempuri.org/IxxxServiceMoniker/xxxRecord"
            message="tns:IxxxServiceMoniker_xxxRecord_InputMessage" />
        <wsdl:output
            wsaw:Action="http://tempuri.org/IxxxServiceMoniker/xxxRecordResponse"
            message="tns:IxxxServiceMoniker_xxxRecord_OutputMessage" />
    </wsdl:operation>
</wsdl:portType>
<wsdl:portType name="IxxxServiceMoniker">
    <wsdl:operation name="xxxRecord">
        <wsdl:input
            wsaw:Action="http://tempuri.org/IxxxMoniker/xxxRecord"
            message="tns:IxxxServiceMoniker_xxxRecord_InputMessage" />
        <wsdl:output
            wsaw:Action="http://tempuri.org/IxxxServiceMoniker/xxxRecordResponse"
            message="tns:IxxxServiceMoniker_xxxRecord_OutputMessage" />
    </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="BasicHttpBinding_IxxxService"
    type="tns:IxxxService">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="xxxRecordEntry">
        <soap:operation
            soapAction="http://tempuri.org/IxxxService/xxxRecordEntry"
            style="document" />
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
<wsdl:binding name="BasicHttpBinding_IxxxMoniker"
    type="tns:IxxxMoniker">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="xxxRecord">
        <soap:operation
            soapAction="http://tempuri.org/IxxxMoniker/xxxRecord"
            style="document" />
        <wsdl:input>
            <soap:body use="literal" />
        </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>
<wsdl:service name="xxxService">
    <wsdl:port name="BasicHttpBinding_IxxxService" binding="tns:BasicHttpBinding_IxxxService">
        <soap:address location="http://aaaaa:pppp/xxxService.xxxService.svc"/>
    </wsdl:port>
    <wsdl:port name="BasicHttpBinding_IxxxServiceMoniker" binding="tns:BasicHttpBinding_IxxxServiceMoniker">
        <soap:address location="http://aaaaa:pppp/xxxService.xxxService.svc/mo"/>
    </wsdl:port>
</wsdl:service>

代理配置

<proxy xmlns="http://ws.apache.org/ns/synapse" name="testing20" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
  <outSequence>
     <send/>
  </outSequence>
  <endpoint>
     <wsdl service="xxxService" port="BasicHttpBinding_IxxxService" uri="http://xxx:ppp/xxxLoggerService.xxxService.svc?wsdl"/>
  </endpoint>
</target>
<publishWSDL uri="http://xxx:ppp/xxxLoggerService.xxxService.svc?wsdl"/>
<parameter name="useOriginalwsdl">true</parameter>
<parameter name="modifyUserWSDLPortAddress">true</parameter>
<description></description>
</proxy>

1 个答案:

答案 0 :(得分:0)

您的代理配置是什么?哪个操作引起了问题? 创建代理时,可以禁用不需要的绑定。也就是说,您可以禁用soap11或soap12。

eg:<parameter name="disableSOAP12">true</parameter>