0

誰が書いた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 仕様でそれに関する問題を見つけませんでした。

解決策は何ですか?

4

0 に答える 0