2013-05-01 5 views
0

Мы используем веб-службу (веб-ссылку, а не ссылку на службу), и мне нужен способ вывода всего отправляемого сообщения (включая заголовки) и сообщение, которое получает..Net 4. Просмотр заголовков и тела веб-сервисов с запросом и ответом

Когда я добавить веб-ссылку, генерируемый базовый тип объекта клиента для отправки сообщений является System.Web.Services.Protocols.SoapHttpClientProtocol

Я отправлять сообщения, как так:

ApiService api = new ApiService(); 
// set the certificate and basic http network credentials 

var response = api.SendRequest(messageObject); 

я могу получить тело запроса, сериализуя messageObject, но не может понять, как получить полное сообщение с заголовками.

Поскольку я использую сертификат и базовую аутентификацию, такие инструменты, как Fiddler и т. Д., Не получают мне то, что мне нужно, поэтому я считаю, что я делаю что-то программно, чтобы вытащить то, что было отправлено и что получено до шифрования с помощью SSL.

EDIT

То, что я хочу, чтобы увидеть, если данные, отправленные и полученные в другую службу из моей службы WCF .... например:

// this function is within my WCF service 
public ResponseModel Auth() 
{ 
    // call to another service here... need to trace this 
} 

ответ

1

Если это для отслеживания целей У меня был некоторый успех с использованием возможностей трассировки библиотек System.Net, вы должны иметь возможность включать трассировку только через конфигурацию.

Это описано здесь: How to: Configure Network Tracing

Результирующий файл журнала не самый простой следовать, но описано здесь: Interpreting Network Tracing

+0

Я пытался что-то подобное. См. Ответ здесь http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/5b4f3450-1591-4dbe-89c0-4794fa07fb8d/ Но когда я использую это, он показывает мне только ввод и вывод от моей службы WCF. Моя служба WCF вызвала другую услугу, и это те сообщения, которые мне нужны для захвата. –

+1

Вы отправили ссылку, но на другом уровне в стеке фреймов. Дайте вышеприведенную попытку, я получил наибольший пробег из журнала System.Net, и потому что на этом уровне вы должны получить свои клиентские звонки. –

+0

Спасибо :), что сработало –