我正在使用 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>
在这种情况下,如何允许并处理 POSTed 请求作为原始请求?
我查看了 API 和唯一相关的类(WebOperationContext.Current.IncommingRequest)没有任何方法来检索原始消息...
谢谢
兹...
创建 XElement 类型的输入参数,您可以以任何您想要的方式查询 XML。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)