У меня есть клиент WCF с настраиваемым поведением, которое перехватывает запрос SOAP. В BeforeSendRequest в клиенте я получаю запрос SOAP и передаю его другому параметру WS. Другой WS помещает SOAP-конверт в реальную службу, которую клиент хочет вызывать и возвращает ответ SOAP обратно клиенту. Таким образом, в BeforeSendRequest промежуточная служба возвращает реальный ответ SOAP в виде строки обратно клиенту.set Response to client from SOAP Envelope
public object BeforeSendRequest(ref System.ServiceModel.Channels.Message request, IClientChannel channel)
{
string soapResponse = myotherProxy.CallService(request.ToString());
return null;
}
Как установить возвращаемый ответ SOAP (soapResponse) в качестве реального ответа в клиенте?
Надежда кто-то может помочь :)
Спасибо, Adrya
Спасибо :) но как установить этот SOAPEnvelope, который приходит как строка в ответ, который является сообщением? Я должен сделать это так, потому что это то, что проект ... (отправляет сообщения от разных клиентов в разных службах, но перед отправкой его в myotherProxy.CallService он выполняет некоторые проверки и разрешает только вызов, если проверки в порядке) – Adrya
Не могли бы вы сделать ваш метод CallService возвращает SOAP-сообщение? Или вы можете попытаться сделать сообщение из мыльной строки. (см. http://msdn.microsoft.com/en-us/library/system.web.services.description.message(v=VS.90).aspx) – JamesMLV