私はSOAPベースのWebサービスを実装していて、WS-Addressingを機能させています。ただし、WSDLを取得して、クライアントがwsa:To要素の値として使用する必要があるものを公開する方法がわかりません。
以下のスニペットをWSDLで使用し、SOAP-UIを使用してリクエストを生成しました。SOAP-UIは、このヘッダーを自動的に追加しませんが、wsa:actionを「http://myco.com/myOperation 」に設定する必要があることを認識しているようです。[WS-Aヘッダーの追加]メニューオプションを選択する必要があります。
私の問題は、wsa:Toヘッダーが追加されないことです。誰かがWSDLを修正して、wsa:Toが必要であり、その値を「 http://myco.com/cap/services/v1 」にする必要があることをクライアントに伝える方法を教えてもらえますか?
ありがとう
<wsdl:portType name="MyPortType">
<wsdl:operation name="MyOperation">
<wsdl:input message="tns:MyRequestMessage" name="Request"
wsaw:Action="http://myco.com/myOperation"/>
<wsdl:output message="tns:MyResponseMessage" name="Response"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MyBinding" type="tns:MyPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsaw:UsingAddressing wsdl:required="true"/>
<wsdl:operation name="MyOperation">
<soap:operation soapAction="" 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="MyService">
<wsdl:port binding="tns:MyBinding" name="MyPort">
<soap:address location="http://myco.com/services"/>
<wsa:Address>http://myco.com/cap/services/v1</wsa:Address>
</wsdl:port>
</wsdl:service>