我在此处显示的链接中使用ToHttpRequestMessage扩展方法MessageExtensionMethods
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' ..遇到'元素'名称'字符串',名称空间' http://schemas.microsoft.com/2003/10/Serialization/'。 "}
知道我做错了什么吗?或者.NET代码本身是否存在错误
答案 0 :(得分:0)
这对于任何类型的消息对象都是不可能的。我看到的问题是因为这些扩展方法不适用于任何类型的消息,而只是用于ByteStreamMessage的实例。它没有在文档中详细记录,但在姐妹班的文档中提到
HttpRequestMessageExtensionMethods
可以像传统的ByteStreamMessage实例一样读取,写入和复制Message实例。 Message实例也可以“读取”以通过调用ToHttpRequestMessage扩展方法来检索原始HttpRequestMessage实例