1

誰かがこの問題に出くわし、答えや指針を持っているのではないかと思っていました。IClientMessageInspectorを実装して、クライアントのsoapメッセージにヘッダーを追加しました。したがって、BeforeSendREquest内で、MessageHeader.CreateHeaderを呼び出します。コレクション内のヘッダーを含むFiddlerのメッセージが表示されるため、これは機能しているようです。サービス側では、カスタムauthenticationManagerがあります。サービス呼び出しが実装に入ると、挿入したヘッダーが表示されません。ServiceModelスタックが逆シリアル化中にヘッダーをスキップしているように感じますが、よくわかりません。また、本当に何が起こっているのか、これを修正する方法がわかりません。たぶん、サービス側にIClientMessageInspectorと同等のものを実装しますか?

どんなアイデア/ポインタも役に立ちます。

4

1 に答える 1

0

サーバー側の WCF コードでは、(IClientMessageInspector によって挿入された) クライアントからの SOAP ヘッダーに基づいて動作するために、IDispatchMessageInspector の実装を使用しました。その AfterReceiveRequest() メソッドでは、request.Headers.FindHeader() を使用して、予期されるヘッダーが存在するかどうかを確認します。

于 2010-12-21T10:56:24.830 に答える