2010-09-10 67 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()的默認實現只是打印出一個省略號!

消息類確實是一個棘手的野獸。