c# - 从 Proxy 类方法调用中查看 SOAP 请求

标签 c# web-services

我正在使用 .NET 2.0 网络服务。如果我添加对 WSDL 的引用并进行代理类方法调用,在 VS 中查看正在发送的 SOAP 的最简单方法是什么?

例如,我添加了 PayPal WSDL Web 服务引用并进行了调用:

PayPalAPIAASoapBinding _client =  new PayPalAPIAASoapBinding();
...rest of code and then
    SetExpressCheckoutResponseType checkoutResponse = new SetExpressCheckoutResponseType();
    checkoutResponse = _client.SetExpressCheckout(request); // makes the call here

我尝试在第 2 行设置调试点,但不确定如何深入查看 SOAP。显然,我可以使用类似 Fiddler 的东西,但只想在调试期间使用 Intellisense 来深入到具有请求的对象。我假设客户会拥有它,我上面的实例但找不到它。客户端是 PayPal 服务的一个实例。

当我深入到基类 PayPalAPIAASoapBinding 时,我确实看到有一个版本属性,但我无法获得它的值:

System.Web.Services.Protocols.SoapProtocolVersion.Default

当我尝试将其粘贴到我的监 window 口时,该值只显示 Default 一词,而不是发送的真实值。所以这就是为什么我需要查看 SOAP 并且到目前为止在该绑定(bind)对象中我没有看到持有它的属性。但它必须位于您在 .NET 中的 Web 服务中发出的任何请求中的某个位置,只是不知道在调试过程中要看哪里?

我的最终目标是能够在 SOAP 信封真正使用 VS 中的任何 WSDL 引用发送之前读取它。

最佳答案

没有非常简单的方法。请参阅 SoapExtension 中的示例MSDN 上的文档以获取记录信息的方法。

如果您使用的是 WCF,则只需在配置中打开日志记录即可。

关于c# - 从 Proxy 类方法调用中查看 SOAP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179217/

相关文章:

c# - 迭代获取特定集合的所有子集

c# - 如何将搜索到的项目滚动到 Wpf 中的 GridView View 中

c# - 在 .net 中创建安装程序

java - 如何在生成 wsdl 时包含常量类

c# - 从 ASP.NET Core 1 迁移到 ASP.NET Core 2 后, token 身份验证停止工作

c# - 什么时候在 DbContext 上执行查询

java - Google Web Toolkit 转储所有请求和响应

java - JBoss 中的自定义错误页面

python - 在不知道名称的情况下打印所有 POST 请求参数

android - 改造错误 : Expected BEGIN_ARRAY but was STRING