Как запретить журналированию сообщений WCF исключать тело SOAP? - PullRequest
0 голосов
/ 10 сентября 2010

У меня есть клиент 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 Ответ

1 голос
/ 10 сентября 2010

Оказывается, что одним из поведений, которые я настроил для этой конечной точки (IClientMessageInspector), было создание подкласса Message, и что этот подкласс не переопределял OnBodyToString (), который используется для ведения журнала. Реализация по умолчанию OnBodyToString () просто печатает ... многоточие!

Класс Message действительно хитрый зверь.

...