簡體   English   中英

WCF - 查看對安全Web服務的xml請求/響應

[英]WCF - Viewing xml request/response to a secure webservice

我有一個WCF服務應用程序,在這個應用程序中,我通過安全連接調用第三方Web服務。

我一直在嘗試使用fiddler來查看請求響應流,但是在嘗試了半天以上的應用程序后,我已經放棄了它。 雖然我向受信任區域提供了更多的小提琴證書,但它有證書問題。

如果只是看到我對第三方Web服務的xml請求和響應,我最好的選擇是什么?

我正在使用生成的代理類,所以我目前無法訪問我發送和接收的原始xml。 我很好奇,如果我過度復雜化可以做得更簡單的事情。 這是我的開發機器,我幾乎可以訪問所有內容,沒有任何限制。

請問一個簡單的方法嗎?

編輯:

此時我甚至不需要使用跟蹤。 我只需要查看請求/響應的序列化輸出。 即使我可以從Visual Studio調試器或其他這樣做這將有所幫助。

使用WCF跟蹤 - 它運行良好,並附帶一個方便的跟蹤查看器實用程序

您可以設置多個選項 - 但在其核心,您必須將這樣的內容添加到您的WCF服務和客戶端配置:

<configuration>
   <system.diagnostics>
      <sources>
            <source name="System.ServiceModel" 
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="traceListener" 
                   type="System.Diagnostics.XmlWriterTraceListener" 
                   initializeData= "c:\log\Traces.svclog" />
            </listeners>
         </source>
      </sources>
   </system.diagnostics>
</configuration>

開箱即用的是各種“跟蹤偵聽器” - 一個寫入Visual Studio中的輸出控制台,這一個是創建XML文件,或者您可以將內容存儲在SQL Server數據庫表中 - 整個機制是可擴展的,你也可以編寫自己的跟蹤監聽器!

另請參閱此處: 使用WCF跟蹤和此處的WCF跟蹤常見問題解答以獲取更多信息。

由於我試圖從引用到我的WCF應用程序的asmx Web服務讀取soap消息,我的問題的解決方案是創建一個繼承自System.Web.Services.Protocols.SoapExtension的類,注冊此類在web.config中,以便所有流量都通過此類路由並查看。

這些通信都不會出現在WCF跟蹤上,因此這還不夠。 然而,我學習它是有用的,所以現在我能夠看到我的wcf服務應用程序和Web應用程序之間發生的所有事情。

這篇文章為我找到了如何捕獲肥皂信封 - 當消費網絡服務時

將其添加到您的app.config:

<system.diagnostics>
<sources>
  <source name="System.ServiceModel.MessageLogging">
    <listeners>
      <add name="messages" type="System.Diagnostics.XmlWriterTraceListener" initializeData="messages.svclog" />
     </listeners>
  </source>
</sources>

<system.serviceModel>
<diagnostics>
  <messageLogging
       logEntireMessage="true"
       logMalformedMessages="true"
       logMessagesAtServiceLevel="true"
       logMessagesAtTransportLevel="false"
       maxMessagesToLog="-1"/>
</diagnostics>

它會將所有消息記錄到messages.svclog。 然后,您可以查看它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM