Как получіть xml реквест и респонз из SoapHttpClientProtocol

Yauhen
Дата: 19.04.2007 19:32:00
Задача мне кажется достаточно стандартная но что то не вижу быстрого ответа.

Написал я значиться простенький сервис. И решил написать простенького тестового клиента в виде асп.нет странички, дабы дать ползьователю возможность поиграться с сервисом в тестовом режиме (стандартный хендлер не предлагать, потому что юзается soapheader, а стандартный шлёт только по http post).

Сгенерировал я значит с помощью чудненькой тулзы wsdl.exe прокси класс для сервиса. всё класно вызывается и приходит.

возник вопрос, а как пользователю показать голый xml soap реквеста и респонза. с введенными им данными? что то в SoapHttpClientProtocol не вижу никаких возможностей. возникла глупая идея написать нетварк праксю которой бы слал данные сгенерированный наследник SoapHttpClientProtocol, но мне как то кажется это не прямой путьСмех.

может кто сталкивался?
Stmp
Дата: 20.04.2007 11:41:33
Для этого используется SoapExtension. Надо написать наследника от этого класса и перекрыть метод ProcessMessage(). Получить XML сообщения можно на SoapMessageStage.BeforeDeserialize.
Готовый класс надо прописать в config клиента.
Yauhen
Дата: 20.04.2007 20:00:00
Для этого используется SoapExtension. Надо написать наследника от этого класса и перекрыть метод ProcessMessage(). Получить XML сообщения можно на SoapMessageStage.BeforeDeserialize.
Готовый класс надо прописать в config клиента.



ну как то не очень просто получается. добираться потом до этих данных не очень просто с тестовой странички чтобы отобразить после вызова метода. я как то не представляю как связать страницу с SoapExtension.

У меня после колупания рефлектором класса SoapHttpClientProtocol возникла идейка переписать в генерируемом прокси классе метод базового invoke чтобы он в какие нибудь свои поля запихвал хмл реквеста/респонза.
Stmp
Дата: 20.04.2007 20:57:47
Велосипед. Причем не очень хороший.