如何防止WCF消息日志记录忽略SOAP主体?

时间:2010-09-10 15:04:32

标签: wcf wcf-client

我有一个WCF客户端,我需要记录消息。我需要请求和回复的完整SOAP信封。

我的app.config文件已设置日志记录:

<diagnostics>
  <messageLogging logMalformedMessages="false" logMessagesAtServiceLevel="true"
                  logMessagesAtTransportLevel="false" logEntireMessage="true" 
                  maxMessagesToLog="100" maxSizeOfMessageToLog="20000000" />
</diagnostics>

邮件日志已正确填充... 几乎!对于仅的请求,SOAP主体如下所示:

<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Id="signature_e">...</s:Body>

现在有没有人想要将完整的SOAP主体放入我的日志中?

1 个答案:

答案 0 :(得分:1)

事实证明,我为此端点配置的一个行为(IClientMessageInspector)正在创建Message的子类,并且该子类没有覆盖用于记录的OnBodyToString()。 OnBodyToString()的默认实现只打印出一个省略号!

Message类确实是一个棘手的野兽。