在Web服务调用中查看XML请求和响应

时间:2011-12-13 19:56:35

标签: asp.net web-services

我在ASP.NET webforms应用程序中使用第三方Web服务。我只是在提供的WSDL中添加了一个Web引用,并从我的代码隐藏编码了对该服务的基本调用。 Web服务的提供者要求我们发送XML请求和响应以供批准。但是,我不知道如何做到这一点。我的第一直觉是使用Fiddler。但由于Web服务的安全功能,Fiddler无法看到实际的XML通过线路传输。一些博客文章建议修改WSDL,但这似乎不是一件好事,因为Web服务的提供者肯定会更喜欢保持完整。所以我的问题是,捕获安全Web服务的XML请求和响应的最简单,最直接的方法是什么?如果答案是Fiddler,请告诉我如何执行此操作,因为我所看到的只是加密电话。

编辑---这是安全政策的具体实施

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;


namespace ShipWSSample
{
    public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
    {
        public TrustAllCertificatePolicy()
        { }

        public bool CheckValidationResult(ServicePoint sp,
         System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest req, int problem)
        {
            return true;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

使用服务时有两级数据加密:

  1. 通道级加密,当完整通信加密时,例如使用HTTPS协议。
  2. 邮件级加密,当通过服务发送的每封邮件都使用公钥架构或其他一些开放密钥算法单独加密时。
  3. 在第一种情况下,您可以使用Fiddler2在其代理上使用某种“中间人”攻击来解密HTTPS流量。 Here are more details就可以了。