誰が書いたWSDLファイルを使いたい。
2 つのポートタイプを使用
<wsdl:portType name="ContentDirectory">
<wsdl:operation name="GetSortCapabilities">
<wsdl:input message="tns:GetSortCapabilitiesRequest" />
<wsdl:output message="tns:GetSortCapabilitiesResponse" />
</wsdl:operation>
<wsdl:operation name="GetSystemUpdateID">
<wsdl:input message="tns:NOTHING_INPUT" />
<wsdl:output message="tns:GetSystemUpdateIDResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="ConnectionManager">
<wsdl:operation name="GetCurrentConnectionIDs">
<wsdl:input message= "tns:NOTHING_INPUT" />
<wsdl:output message="tns:GetCurrentConnectionIDsResponse" />
</wsdl:operation>
<wsdl:operation name="GetProtocolInfo">
<wsdl:input message="tns:NOTHING_INPUT" />
<wsdl:output message="tns:GetProtocolInfoResponse" />
</wsdl:operation>
</wsdl:portType>
そして2つのバインディング
<wsdl:binding name="ContentDirectory" type="tns:ContentDirectory">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="Browse">
<soap:operation soapAction="http://www.forge.soa4d.org/DPWS/Samples/MediaRenderer/Browse/" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetSystemUpdateID">
<soap:operation soapAction="http://www.forge.soa4d.org/DPWS/Samples/MediaRenderer/GetSystemUpdateID/" 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="ConnectionManager" type="tns:ConnectionManager">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="GetCurrentConnectionIDs">
<soap:operation soapAction="http://www.forge.soa4d.org/DPWS/Samples/MediaRenderer/GetCurrentConnectionIDs/" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="GetProtocolInfo">
<soap:operation soapAction="http://www.forge.soa4d.org/DPWS/Samples/MediaRenderer/GetProtocolInfo/" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
および 2 つのポートを備えたサービス
<wsdl:service name="Media">
<wsdl:port name="ContentDirectory" binding="tns:ContentDirectory">
<soap:address location="http://localhost:8080/MediaServer/TESTWSDL" />
</wsdl:port>
<wsdl:port name="ConnectionManager" binding="tns:ConnectionManager">
<soap:address location="http://localhost:8080/MediaServer/TESTWSDL" />
</wsdl:port>
</wsdl:service>
このサービスを 1 つのポートのみで使用すると、クライアントは WSDL を読み取ることができます。このサービスを 2 つのポートで使用すると、エラーが発生します。(別の場所でも同じ)
私は W3 WSDL 仕様でそれに関する問題を見つけませんでした。
解決策は何ですか?