WCF Webサービスの作業セットは、.NET 4.6にコード化されています。これらはサーバーへの発信呼び出しです。したがって、それらは.EXEで実行されています(実際は最終的にはWindowsサービスとして実行されます)。WCFアドレス指定 - WSA:TO要素を削除する
これらのWebサービスは、WS-Addressingの標準をサポートする必要があります:1.0アドレッシング
W3CのWebサービス - コアをhttp://www.w3.org/TR/2006/REC-ws-addr-core-20060509 WSAその標準状態のバージョンということ
:要素にはオプションです。私が必要とするのは、WSA:TO要素をSOAP出力にまったく表示しないことです。私もWS-SECURITYを使用する必要があるので、カスタムSOAPライターを作成する必要はありません。私はGoogleで検索してきたなどなど、私のバインディング構成で
は私が持っている:のエンドポイントに
<binding name="MyServiceThatMustNotSendWSATO">
<textMessageEncoding messageVersion="Soap12WSAddressing10" />
<httpTransport />
</binding>
:私は利用可能textMessageEncodingのmessageVersionのすべての組み合わせを試してみた
<endpoint address="http://destinationserver.com/SomeServiceName/V1"
behaviorConfiguration="cliBeh" binding="customBinding" bindingConfiguration="MyServiceThatMustNotSendWSATO"
contract="SomeContract.SomeMethod" name="SomeEndPointName">
<identity>
<dns value="somedns" />
</identity>
</endpoint>
、 WSA:TO要素はまだ生成されています。(
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
<a:Action s:mustUnderstand="1">tns:ServiceEntryStatusOut_V1</a:Action>
<a:MessageID>urn:uuid:88eda3c6-2b6a-4672-8e96-28f0e91c8b4c</a:MessageID>
<a:RelatesTo>urn:uuid:1f19a9f3-6e46-47cc-b190-cc7ef71dbc67</a:RelatesTo>
<a:To s:mustUnderstand="1">http://www.com/</a:To>
</s:Header>
したがって、ナットシェルではWが必要ですアクション、メッセージID、RelatesToなどのS-Addressフィールドが含まれますが、To要素は含まれません。