我正在使用 RESTful 方法构建 Web 服务,并且正在使用 WCF WebHttp API (.NET v4)。为了满足一些遗留功能,我需要通过 POST 接受原始 XML 消息并对其进行处理。例如,我的一种方法如下所示:
[WebInvoke(UriTemplate = "Hello", Method = "POST")]
public Message ProcessMessage(string xmlMessage)
{
if (String.IsNullOrWhiteSpace(xmlMessage))
{
return WebOperationContext.Current.CreateXmlResponse(ProcessingFailedReply);
}
var message = XElement.Parse(xmlMessage);
return WebOperationContext.Current.CreateXmlResponse(ProcessingSuccessfullReply);
}
但是,每次我尝试将一些 xml 发布到“/Hello”时,我都会收到一条消息,指出格式无效并且它需要专门编码的字符串。我猜 API 正在使用标准模式来自动序列化 xmlMessage。当我访问帮助(“/help”)时,我得到了我的 xmlMessage 的示例格式:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">String content</string>
在这种情况下,我如何允许和处理原始请求?我查看了 API,唯一相关的类(WebOperationContext.Current.IncommingRequest)没有任何方法来检索原始消息......
谢谢Z...