2011-12-13 102 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

相關問題