4

サード パーティの Web サービスを呼び出す VB.NET Web サービスがあります。サード パーティの Web サービスに送信される前に .NET によって生成された SOAP メッセージを表示する方法と、.NET によってシリアル化される前に SOAP 応答を表示する方法を教えてください。

スタンドアロン EXE を作成すると、自動的に生成される Reference.vb ファイルが表示されますが、プロジェクトが Web サービスの場合、同様のファイルは表示されません。これを行う C# コードはたくさんありますが、VB.NET にはありません。

編集 - Fiddler と TCP ロガーは優れていますが、私の目的では機能しません。ログに記録したり変更したりできるように、アプリケーション内から生の SOAP メッセージにアクセスできる必要があります。メッセージが行き来するのを見るだけでなく、それ以上のことをする必要があります。

4

3 に答える 3

2

フィドラーまたは tcp スニファーを使用して、ホスト上のすべての発信および着信トラフィックをフィルタリングおよび識別できます。

これは、xml 要求と応答を表示する場合です。

于 2009-01-07T01:36:29.107 に答える
0

拡張機能を使用して SOAP メッセージを調べてみるのはどうでしょうか。

ASP.NET Web サービスで生の SOAP メッセージにアクセスする http://msdn.microsoft.com/en-us/magazine/cc188761.aspx

于 2009-09-18T14:47:14.770 に答える
0

私は同じことをやろうとしていましたが、これは私にとってはうまくいくようです:

Dim message As String = OperationContext.Current.RequestContext.RequestMessage.ToString()

ほとんどの場合、クラスの名前が返されるので、それほど簡単だとは思いませんでしたがToString()、試してみて、見よ.

1 月にこの質問をしたことは知っています。それ以降、より良い方法を見つけた場合はお知らせください。

を実装するクラスで例外をキャッチする場合は、メソッドを呼び出す前にコンテキストが閉じられるため、メソッドではなくメソッドIErrorHandler内からこの操作を実行する必要があることに注意してください。ProvideFault()HandleError()HandleError()

お役に立てれば。

于 2010-04-12T16:04:25.147 に答える