私は WCF - WSIT (Metro) 統合プロジェクトに取り組んでおり、Java クライアントが耐久サービスに接続できるようにしたいと考えています。
持続的サービス http://msdn.microsoft.com/en-us/library/bb410767(v=vs.90).aspx
永続的なサービスには wHttpContextBinding が必要ですが、これは正常に機能しているようです。唯一の問題は、WSIT クライアントによって生成されたプロキシが、instanceId を SOAP エンベロープに割り当てることができないように見えることです。私が認識していない構成設定、または送信メッセージを傍受して instanceId を追加する方法はありますか?
次の SOAP の例は、.NET クライアントによって生成されます。エンベロープ WSIT 送信とこれの唯一の違いは、コンテキスト ノードが WSIT 送信にないことです。
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:r="http://schemas.xmlsoap.org/ws/2005/02/rm" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
...
<Context xmlns="http://schemas.microsoft.com/ws/2006/05/context">
<Property name="instanceId">{I want to set this Id}</Property>
</Context>
...
</s:Header>
<s:Body>
<IncreaseCounter xmlns="http://tempuri.org/"/>
</s:Body>
</s:Envelope>
それが理にかなっていることを願っています。問題は、ws2007HttpBinding または wsHttpBinding 関連、または WCF インスタンス管理関連ではありません。パー/コール、セッション、シングル。WSIT、Java ビットのみについてサポートが必要です。