1

我有以下wsdl文件部分:

<wsdl:binding name="Binding" type="intf:PortType">
    <wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <wsdl:operation name="Op1">
        <wsdlsoap:operation soapAction=""/>
        <wsdl:input>
            <wsdlsoap:body use="encoded" namespace="Op1" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </wsdl:input>
        <wsdl:output>
            <wsdlsoap:body use="encoded" namespace="services:ca" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Op2">
        <wsdlsoap:operation soapAction=""/>
        <wsdl:input>
            <wsdlsoap:body use="encoded" namespace="Op2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </wsdl:input>
        <wsdl:output>
            <wsdlsoap:body use="encoded" namespace="services:ca" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Op3">
        <wsdlsoap:operation soapAction=""/>
        <wsdl:input>
            <wsdlsoap:body use="encoded" namespace="Op3" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </wsdl:input>
        <wsdl:output>
            <wsdlsoap:body use="encoded" namespace="services:ca" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </wsdl:output>
    </wsdl:operation>
</wsdl:binding>

问题是迭代地soapcpp2生成soapBidingProxy.h文件,有效地覆盖旧文件(for Op1and Op2),并且只留下代理类Op3。是这个soapcpp2错误,还是我做错了什么。

4

1 回答 1

1

我想到了。问题在于,在input body namespace. 如果namespace所有操作都相同,则生成的文件只有一个,并且包含所有方法。谢谢大家。

于 2012-07-26T14:23:47.837 回答