4

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

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

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

4

3 回答 3

2

您可以使用 fiddler 或 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()都会返回类的名称,但我试了一下,低调看。

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

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

希望这可以帮助。

于 2010-04-12T16:04:25.147 回答