Я создаю клиент веб-службы для взаимодействия с удаленной веб-службой (на основе Java) вне моего контроля.Я могу вызвать операцию веб-службы и определить, анализируя пакеты, что служба отвечает заполненными данными.Однако к тому времени, когда ответ превращается в код клиента, ответ представляет собой только оболочку со всеми данными, равными NULL.
Я подозреваю, что в веб-службе возникает ошибка, из-за которой данные отбрасываются или игнорируются, но я не могу найти способ включить отладку (или даже журналы или сообщения об ошибках).?) во время получения ответа, прежде чем он попадет в мой код клиента.
В моем App.config включена регистрация сообщений, но регистрируются только исходящие сообщения:
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="messages"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\messages.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="2000"/>
</diagnostics>
</system.serviceModel>
Я действительно хочу установить точку останова во время фактического анализа ответного сообщения, ноРегистратор сообщений фактически регистрирует ответ, также может немного помочь.
Я также настроил пользовательский MessageEncoder
, который был необходим для обхода ошибки в парсере удаленной службы.Я могу добавить точки останова к ReadMessage
методам на этом MessageEncoder
, и могу видеть, что данные все еще там в этой точке.Однако следующий шаг возвращается к клиентскому коду, и объект Response пуст - нет предупреждений или сообщений.Есть ли какой-нибудь способ увидеть, что происходит между ними?
Итак, я полагаю, что в конечном итоге это будет вопрос из двух частей:
- Как / Где можно установить точку останова нанаблюдать за обработкой SOAP-сообщения после
MessageEncoder
, но до его отправки клиентскому коду? - Что не так с моей конфигурацией регистрации, что только исходящие сообщения регистрируются?