使用vb.net查看底层SOAP消息

使用vb.net查看底层SOAP消息,vb.net,soap,service,Vb.net,Soap,Service,我有一个调用第三方web服务的VB.NET web服务。如何在将.NET生成的SOAP消息发送到第三方web服务之前查看它,以及如何在.NET序列化之前查看SOAP响应 当创建独立的EXE时,我看到了自动生成的Reference.vb文件,但当我的项目是web服务时,没有看到类似的文件。我找到了很多C#代码来实现这一点,但在VB.NET中没有 编辑-Fiddler和TCP记录器很好,但不适合我的目的。我需要能够从应用程序中访问原始SOAP消息,以便记录或修改它们。我需要做的不仅仅是查看来回的消息

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

当创建独立的EXE时,我看到了自动生成的Reference.vb文件,但当我的项目是web服务时,没有看到类似的文件。我找到了很多C#代码来实现这一点,但在VB.NET中没有


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

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


这是您想要查看xml请求和响应的情况。

使用扩展来检查SOAP消息怎么样

在ASP.NET Web服务中访问原始SOAP消息

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

Dim message As String = OperationContext.Current.RequestContext.RequestMessage.ToString()
我不认为这会那么容易,因为大多数时候
ToString()
返回类的名称,但我尝试了一下,结果发现很低

我知道你在一月份问过这个问题,所以如果从那时起你找到了更好的方法,请告诉我

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


希望这能有所帮助。

我希望能够从.NET中访问原始SOAP消息,以便记录或修改它们。是的,获取fiddler,使用新的.NET webservices(WCF)fiddler,如果使用tcp通信,fiddler可能无法检测流量,因此请使用tcp嗅探器来完成这项工作。