2011-01-03 7 views
3

私は例on MSDNからデバッグウィンドウにメッセージを書き込み、簡単なメッセージインスペクタを実装しようとしていないか点検します。ただし、リクエストはnullと思われます。何が間違っている可能性があるかについての任意のアイデア?私はクライアントとしてコンソールアプリケーションでサービス参照プロキシを使用しています。WCFは、メッセージ

私はbasicHttpbindingを使用していて、IISでsvcファイルを使用しています。私のWebメソッドのパラメータは複雑な型です。違いがあるかどうかは分かりません。

答えて

1

最初にメッセージリクエストのCreateBufferedCopy(つまりクローン)を試してみてください:http://msdn.microsoft.com/en-us/library/ms734675.aspx(メッセージをバッファにコピーする)。ここ

詳細情報は、「今、メッセージ検査部は、」下:http://binarymist.net/2010/06/14/message-inspection-in-wcf/

+0

ありがとうございました。私はバッファを作成しようとしましたが、まだ動作しません。私はあなたのリンクの例も試してみます。 – Quadwwchs

+0

リクエストバッファは 'request.ToString()'では必要ありません。 –

+1

「メッセージボディデータの抽出」に関するMSDNリンクの状態:メッセージの本文にアクセスする方法にかかわらず、メッセージの本文には一度しかアクセスできません。メッセージオブジェクトにはStateプロパティがあり、最初はCreatedに設定されています。前のリストで説明した3つのアクセス方法は、それぞれ状態をWritten、Read、およびCopiedに設定します。さらに、Closeメソッドは、メッセージ本文の内容が不要になったときに状態をClosedに設定できます。メッセージ本文にはCreated状態でのみアクセスでき、状態が変更された後にCreated状態に戻る方法はありません。 – Junto

0

私はコピーを持っているとMyMessageInspectorクラスを貼り付け、私の私のWebサービスに動作を追加し、それが正常に動作 - WebサービスがあるときSOAPエンベロープはXMLとして出力されます。

あなたのプロジェクトに他のMessageInspectorがありますか?もしそうなら、そのうちの1人がrequest = nullを設定している可能性があります。要求パラメータがrefなので、問題が発生します。

もしそうでなければ、あなたはリクエストがnullであると言いますか? Debug.WriteLine(..)ステートメントでNullReferenceExceptionが発生していますか?

関連する問題