2010-09-10 69 views
0

我有一个WCF客户端,我需要记录消息。我需要完整的SOAP请求和回复信封。如何防止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

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

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