WSDL URLからProxyクラスを生成しました。私はそれに要求を送ることができますが、私は送信されるXMLを記録する必要があります。それをどうやってやりますか?プロキシクラスがWebサービスに送信するXMLをどのようにログに記録するのですか?
答えて
私は、hereのようにIDispatchMessageInspectorを実装することでこのサーバー側を行っています。しかし、私は、IClientMessageInspectorインターフェイスを実装することで、クライアント側でも同じことができると信じています。
私が正しく覚えていれば、Message .ToString()メソッドは、あなたのログに直接入れることができるSOAPを返します。
しかし、私はががサーバー側のみであると信じていますが、ここではそれを言及しません。
Messageクラスは一度だけ読み込まれるように設計されています。ログを取るためにメッセージを傍受しているので、副作用としてそれをマークしないようにする必要があります。あなたはそのようにそれをクローンする必要があります。
public class ClientMessageLogger : IClientMessageInspector
{
public void AfterReceiveReply(
ref System.ServiceModel.Channels.Message reply, object correlationState)
{
// Do nothing.
}
public object BeforeSendRequest(
ref System.ServiceModel.Channels.Message request, IClientChannel channel)
{
// Create a buffer.
MessageBuffer buffer = request.CreateBufferedCopy(Int32.MaxValue);
// Set the request reference to an unspoiled clone.
request = buffer.CreateMessage();
// Make another unspoiled clone to process (taint) locally within this method.
Message originalMessage = buffer.CreateMessage();
// Log the SOAP xml.
Log(originalMessage.ToString());
return null;
}
}
それが正しい軌道に乗った。 –
@My Other Me - ちょっと好奇心が強いのですが、それはクライアント側の問題でしたか?そうでない場合は、私の答えから削除します。 – sheikhjabootie
あなたはこれを自分で行うには、コードを記述する必要はありません。ただconfigure WCF message logging
また、あなたはWCFを使用していない場合には、SOAPのロギングをオンにすることができます。
http://msdn.microsoft.com/en-us/library/esw638yk(VS.71).aspx
私はそれを試みたが、私の人生のためにクライアント側に何かを記録させることができなかった。 –
- 1. メッセージをログに記録するnilに送信しますか?
- 2. Perlモジュールにどのようにログを記録するのですか?
- 3. PHP/MySQLのウェブサイトでどのようにログを記録するのですか?
- 4. Commonsログ(httpbuilderによる)でログに記録されたメッセージをLogbackに送信する
- 5. Pydbg応答xml、xdebugのようにログに記録する方法は?
- 6. 生のxmlをWebサービスに送信する
- 7. xmlファイルをandroidの.net Webサービスに送信する方法
- 8. urlfetchの発信要求をGoogle App EngineのPythonでどのようにログに記録できますか?
- 9. セロリタスクのキューにログを記録する
- 10. PreparedStatementをログに記録するには?
- 11. ユーザーアクティビティをログに記録するには
- 12. プログラムでElmahでエラーをログに記録する:特定の情報をログに記録する
- 13. イメージデータをWCFサービスにどのように送信しますか
- 14. サウンドを録音してWebアプリケーションからサーバーに送信するにはどうすればよいですか?
- 15. ASP.NET MVCで未処理の例外をログに記録するにはどうすればよいですか?
- 16. RoR:テスト前にログに記録する
- 17. 例外ログ記録および電子メールの送信
- 18. ドッカーの出力をどのように出力またはログに記録するのですか?
- 19. どのようにAnabilitiesの変更を正しくログに記録するのですか?
- 20. log4jで8.45から18.15までしかログに記録するにはどうすればよいですか?
- 21. cURLを介してWebサービスにXMLファイルを送信しようとするとSoapenvエラーが発生する
- 22. コンコースCIで特定のコマンドをログに記録しないようにする
- 23. Angularjsのログ記録にGETリクエストを使用するにはどうすればよいですか?
- 24. SQLスクリプトエラーをログに記録する
- 25. Authlogic。ログアウトタイムアウトをログに記録する
- 26. iPhoneから.NET SOAP WebサービスにXMLを送信する際の問題
- 27. Djangoにすべての送信メールを記録するにはどうしたらいいですか?
- 28. 構成によるログ記録
- 29. どのように記録
- 30. どのように記録
これは、クライアント側で発生しなければならない、またはサーバ側のログソリューションは、許容もあるのか? –
私はサーバー側を管理していないので、クライアント側でなければなりません。おかげさまで –