I м, используя метод расширения ToHttpRequestMessage в ссылке, показанной здесь MessageExtensionMethodsMessageExtensionMethods.ToHttpRequestMessage терпит неудачу с исключением
static void Main(string[] args)
{
try
{
Message soapMessage = Message.CreateMessage(MessageVersion.Soap11, "urn:MyAction", "TestBody");
soapMessage.Properties.Add("httpRequest", new HttpRequestMessageProperty());
HttpRequestMessage requestMessage = soapMessage.ToHttpRequestMessage();
}
catch (Exception exception)
{
}
}
Сообщение об исключении: { "Ожидая элемент„поток“из пространства имен„http://schemas.datacontract.org/2004/07/System.IO“.. Засада„Element“ с именем 'string', namespace 'http://schemas.microsoft.com/2003/10/Serialization/'. "}
Любая идея, что я делаю неправильно? Или есть ошибка в самом коде .NET
Если вы измените «TestBody» на «123», он будет вызывать ту же ошибку сериализации, за исключением того, что будет сказано «Элемент Encountered» 'с именем' int''. Поэтому я уверен, что это аргумент «TestBody». однако я не знаю, что добавить туда, потому что Stream является абстрактным и использование класса, полученного из потока, похоже, не работает. –
@ConradFrix Да, моя цель - преобразовать входящее сообщение WCF в HttpRequestMessage и попытаться отправить запрос с использованием HttpClient, и я надеялся использовать этот встроенный метод расширения, который предоставляет .NET, но он не работает, я думаю – StackOverflowVeryHelpful