9

Visual Studio を使用すると、Web サービスを簡単に呼び出すことができます。裏で何が起こっているのかを把握するのは困難です。

Web サービスを呼び出すときに、.Net アプリから生成された実際の XML を確認するにはどうすればよいですか?

4

6 に答える 6

11

tcptraceFiddlerなどのツールが役に立ちます。

いくつかのトラブルシューティング リンク:

TcpTrace を使用した WCF のトレース

Fiddler と Excel 07 を使用して Web サービスをデバッグする

Fiddler はデバッグを容易にする

于 2008-10-15T17:02:53.457 に答える
3

SOAP の TraceExtension を実装するMSDN サンプル コード。そのまま使用することも、変更して好きなようにログインすることもできます (私は DB を使用し、デバッグのためだけでなく、後ですべての通信をアーカイブするために保管しました)。

于 2008-10-15T17:50:09.943 に答える
2

SOAP Web サービスの呼び出しについては、SoapUIが非常に役立つことがわかりました。WSDL に接続してメソッド定義を取得し、スケルトン エンベロープを作成してそれらのメソッドを呼び出し、呼び出し後に完全な結果を確認できます。

于 2008-10-15T20:15:15.907 に答える
1

Visual Studio 内でこれを行う方法の別の例を次に示します。これは、Web サービスからの応答を取得して、指定したファイルに保存するだけです。

Dim url As String = "http://web.service.com/"
Dim request As WebRequest = WebRequest.Create(url)
Dim response As WebResponse = request.GetResponse()
Dim stream As Stream = response.GetResponseStream()

Dim xmlDoc As XmlDocument = New XmlDocument
xmlDoc.Load(stream)
xmlDoc.Save("C:\Temp\foo.xml")
于 2008-10-15T18:15:53.743 に答える
1

Visual Studio の外部では、Fiddler ツールを使用して、要求と応答に何が含まれているかを正確に確認できます。

Visual Studio 内でできることの 1 つは、DataSet をファイルに書き出すことです。

myDataSet.WriteXml(filename);
于 2008-10-15T17:06:54.977 に答える
0

Fiddlerを使用するという提案は、IT チームを参加させるのに十分でした。彼らはすでに、同様のプログラムWireSharkのコピーをWeb サーバーにインストールしていました。

ネットワークにあまり詳しくないので、最初は自分の PC から Web サービスへのリクエストを監視できると思っていました。それはうまくいきませんでした。リクエストが Web サーバーに入ったときにリクエストを監視すると、http ヘッダーと SOAP エンベロープの構造がわかりました。

すべての応答に感謝します。

于 2008-10-15T19:16:13.013 に答える