2011-12-13 62 views
0

我正在使用ASP.NET Webforms应用程序中的第三方Web服务。我只是添加了对所提供的WSDL的Web引用,并从代码隐藏中编写了对该服务的基本调用。 Web服务的提供者要求我们发送请求和响应的XML以供批准。但是,我不知道如何实现这一点。我的第一个直觉是使用小提琴手。但是由于Web服务的安全特性,Fiddler无法看到实际的XML通过线路。一些博客文章建议修改WSDL,但这似乎并不是一件好事,因为Web服务提供商肯定会更愿意保留它。所以我的问题是,捕获安全Web服务的XML请求和响应的最简单和最直接的方法是什么?如果答案是提琴手,请告诉我如何做到这一点,因为我看到的都是加密的电话。在Web服务调用中查看XML请求和响应

编辑---这里的具体实施的安全策略的

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; 
     } 
    } 
} 
+0

您必须使用Web引用吗?如果您使用服务引用,那么您可以使用WCF跟踪来轻松地向您显示发生了什么。否则,请参阅“SoapExtension”。 –

+0

我可能可以使用服务引用。但在游戏切换时有点晚。这是我第一次使用提供的WSDL工作,我做出了错误的选择。 – hughesdan

+0

没有太大的区别。一般来说,只要“不要那样做”就可以使用Web引用。 –

回答

0

有数据加密两个级别,而消费服务:

  1. 通道级加密,当完整的通信例如通过使用HTTPS协议进行加密。
  2. 消息级加密,当通过服务发送的每个消息都使用公钥体系结构或其他一些开放式密钥算法单独加密时。

在第一种情况下,您可以使用Fiddler2在其代理上使用某种“中间人”攻击来解密HTTPS流量。 Here are more details就可以了。

+0

我认为这是前者。请参阅我上面的编辑安全策略实施。 – hughesdan

相关问题