Изменение SOAP-запросов с помощью GetWebRequest - PullRequest
4 голосов
/ 15 ноября 2011

Я пытаюсь динамически изменить данные XML в запросах SOAP к службам ASMX.

Я переопределил метод GetWebRequest() в классе SoapHttpClientProtocol для чтения и изменения данных XML, содержащихся в RequestStream.

Проблема в том, что запрос кажется пустым, в нем вообще нет данных.Это потому, что данные SOAP еще не были сгенерированы и сериализованы или я что-то не так делаю?

1 Ответ

2 голосов
/ 23 декабря 2011

Что вам нужно, это SoapExtension.Вы можете подключиться к этапу SoapMessageStage.AfterSerialize в ProcessMessage, чтобы изменить ваше мыльное сообщение.Я делал это в прошлом, чтобы добавлять заголовки WSSE в ситуациях, когда я не мог добавить зависимость от библиотеки WSE от Microsoft (поскольку она недоступна для Mono).

Полное руководство здесь: http://msdn.microsoft.com/en-us/magazine/cc164007.aspx

GetWebRequest слишком рано для вашей цели, GetWebResponse слишком поздно.

...