检查WCF SOAP消息有效负载

检查WCF SOAP消息有效负载,wcf,soap,Wcf,Soap,我正在调试WCFSOAP客户端。我可以修改客户端,但不能控制服务器。我想检查发送和接收的实际消息,以便找出在SoapUI中工作的消息在客户端发送时失败的原因 通信是通过SSL进行的,因此我无法使用Wireshark检查电线上的消息 我已经启用了wcf跟踪(使用logEntireMessage=“true”),但是虽然记录了大量数据,但实际的响应负载似乎没有被记录。它在跟踪查看器中仅显示为“…流…””。此外,我似乎无法在跟踪中找到传出消息的HTTP头 有人知道如何更接近于检查实际信息吗 编辑:提琴

我正在调试WCFSOAP客户端。我可以修改客户端,但不能控制服务器。我想检查发送和接收的实际消息,以便找出在SoapUI中工作的消息在客户端发送时失败的原因

通信是通过SSL进行的,因此我无法使用Wireshark检查电线上的消息

我已经启用了wcf跟踪(使用
logEntireMessage=“true”
),但是虽然记录了大量数据,但实际的响应负载似乎没有被记录。它在跟踪查看器中仅显示为“
…流…”
”。此外,我似乎无法在跟踪中找到传出消息的HTTP头

有人知道如何更接近于检查实际信息吗

编辑:提琴手帮我找到了问题。(这是有效负载中的UTF-8字节顺序标记,服务器不喜欢。)另一方面,WFC跟踪太“高”了,无法发现此类问题,据我所知。

一个选项是。另一个选项是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>

一个选项是。另一个选项是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>


fiddler是否允许您解码来自客户端应用程序的SSL通信?谢谢!我需要在中启用标志。fiddler允许您解码来自客户端应用程序的SSL流量吗?谢谢!我需要在中启用标志。