簡體   English   中英

檢查WCF SOAP消息有效負載

[英]Inspect WCF SOAP message payload

我正在調試WCF SOAP客戶端。 我可以修改客戶端,但不能控制服務器。 我想檢查發送和接收的實際消息,以便找出在客戶端發送時SoapUI中有效的消息失敗的原因。

通信是通過SSL進行的,因此我無法使用Wireshark檢查線路上的消息。

我已經啟用了wcf跟蹤(使用logEntireMessage="true" ),但是在記錄大量數據時,似乎沒有記錄實際的響應有效負載。 它在Trace Viewer中顯示為“ ... stream ... ”。 此外,我似乎無法在跟蹤中找到傳出消息的HTTP標頭。

有人知道如何更接近檢查實際的消息嗎?

編輯:Fiddler幫我找到了問題。 (這是有效載荷中的UTF-8字節順序標記,服務器不喜歡。)另一方面,WFC跟蹤太高級了,無法找到這種問題,據我所知。

一種選擇是使用Fiddler 另一種選擇是WCF日志記錄(正如您所說),請確保標記為在傳輸和消息級別進行日志記錄。 這對我有用:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.diagnostics>
        <sources>
            <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
                <listeners>
                    <add type="System.Diagnostics.DefaultTraceListener" name="Default">
                        <filter type="" />
                    </add>
                    <add name="ServiceModelMessageLoggingListener">
                        <filter type="" />
                    </add>
                </listeners>
            </source>
        </sources>
        <sharedListeners>
            <add initializeData="C:\messages.svclog"
                type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
                <filter type="" />
            </add>
        </sharedListeners>
    </system.diagnostics>
    <system.serviceModel>
        <diagnostics>
            <messageLogging logEntireMessage="true" logMalformedMessages="true"
                logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
        </diagnostics>
    </system.serviceModel>
</configuration>

暫無
暫無

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

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