Вы можете сделать это, создав SoapExtension
и включив его в своем клиенте веб-службы:
System.Web.Services.Protocols.SoapExtension Class (MSDN)
Ссылка выше предоставляет скелет примера кода, который регистрирует запросы / ответы в файл.
Чтобы включить в вашем приложении, добавьте в ваш web.config или app.config следующее:
<webServices>
<soapExtensionTypes>
<add type="YourNamespace.TraceExtension, AssemblyName"
priority="0" group="High"/>
</soapExtensionTypes>
</webServices>
Мое собственное расширение трассировки SOAP реализовано в собственном проекте / сборке. Всякий раз, когда мне нужно отладить запрос / ответ, я просто помещаю DLL в папку приложения (/ bin для ASP.NET) и добавляю ссылку на файл конфигурации, как указано выше.
Например:
<webServices>
<soapExtensionTypes>
<add
type="DebugTools.SOAP.SOAPTrace.SoapTraceExtension, DebugTools.SOAP"
priority="0" group="High"/>
</soapExtensionTypes>
</webServices>
DebugTools.SOAP.SOAPTrace
- это пространство имен SoapTraceExtension
DebugTools.SOAP
- это имя сборки, содержащей код следа мыла.