ベンダーのサーバからIIS6でホストされているASMX Webサービスに投稿された受信XMLパケットを調べるためのツールや手法を探していますサーバ。私のサーバ上のWebサービスに送信されているXMLパケットを確認する方法を探しています
Fiddlerのようなものがサーバー側にあります。フィドラーはそのように働くのだろうか?
ベンダーのサーバからIIS6でホストされているASMX Webサービスに投稿された受信XMLパケットを調べるためのツールや手法を探していますサーバ。私のサーバ上のWebサービスに送信されているXMLパケットを確認する方法を探しています
Fiddlerのようなものがサーバー側にあります。フィドラーはそのように働くのだろうか?
はい、 fiddlerはサーバー側で動作します。これは、Webサービスをホストしているw3wp.exeプロセスによってフィルタリングする方が効果的です。
しかし、これを行うより良い方法は、Webサービス自体のトレースをオンにすることです。フレームワークのバージョンに応じて、web.config:Enabling Tracing in ASP.NET Web Servicesでトレースを有効にすることができます。あるいは、接続をログアウトするためのSOAPフックを作成または検出することができます。最後のオプションは本当にうまく機能しますが、速い修正ではありません。
SOAP拡張機能を使用してメッセージングに接続してログを記録する例については、ここに提供されているSoapExtension Classの例を参照してください。次に、web.configのsoapExtensionTypes Elementに拡張機能を追加するだけです。
私はあなたが「ベンダーのサーバー」と呼んでいるのは実際にあなたのサーバー上でWebサービスを呼び出すWebサービスクライアントだと仮定していますか?
私はフィドラーを知りませんが、Wiresharkはすべてのネットワークトラフィックを表示します。 フィルタを使用すると、ベンダーのクライアントと自分のPCとの間のすべてのHTTPトラフィックを取得できます。私はそれをデバッグに非常に便利だと思っています。
あなたのキャプチャフィルタのようなものになります:tcp port http and host stackoverflow.com
そして、あなたが使用できるディスプレイフィルタとして:http.request or http.response
(そしておそらく単純な何か、私はWireSharkのの初心者くさいよ)
彼はASMXを使用しています。良いトレースはありません。 –
そのトレースメッセージの内容は? –
@ジョン:私は一度もトレースを使っていません。私はいつもSOAP拡張を使って要求と応答メッセージの両方を記録してしまいました。トレースはメッセージの内容に対して機能しませんか?私はいずれかの方法で示された文書では何も見ませんでした。 –