使用vb.net查看基础SOAP消息

时间:2009-01-07 01:33:45

标签: vb.net soap service

我有一个调用第三方Web服务的VB.NET Web服务。如何在将.NET发送到第三方Web服务之前查看它生成的SOAP消息,如何在.NET序列化之前查看SOAP响应。

创建独立的EXE时,我看到自动生成的Reference.vb文件,但在我的项目是Web服务时看不到类似的文件。我发现有很多C#代码可以执行此操作,但在VB.NET中没有。

编辑 - Fiddler和TCP记录器很棒,但不能用于我的目的。我需要能够从应用程序中访问原始SOAP消息,以便我可以记录它们或修改它们。我需要做的不仅仅是看到消息来回传递。

3 个答案:

答案 0 :(得分:2)

您可以使用fiddler或tcp嗅探器来过滤和识别主机上的所有传出和传入流量。

如果您想查看xml请求和响应,请执行此操作。

答案 1 :(得分:0)

如何使用扩展来检查SOAP消息?

在ASP.NET Web服务中访问原始SOAP消息 http://msdn.microsoft.com/en-us/magazine/cc188761.aspx

答案 2 :(得分:0)

我试图做同样的事情,这似乎对我有用:

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

我认为这不会那么容易,因为大部分时间ToString()都会返回班级的名字,但是我试了一下,然后低估了。

我知道你在一月份问过这个问题,所以从那以后你就找到了一个更好的方式让我知道。

请注意,如果您在实现IErrorHandler的类中捕获异常,则必须从ProvideFault()方法而不是HandleError()方法执行此操作,因为在调用HandleError()方法之前,上下文已关闭。

希望这有帮助。