通过邮递员将帖子请求接收到 wcf
Posted
技术标签:
【中文标题】通过邮递员将帖子请求接收到 wcf【英文标题】:receiving post request through postman into wcf 【发布时间】:2019-12-13 22:48:41 【问题描述】:我正在尝试使用 WCF 接收来自 Postman 的 XML [post] 消息,我首先需要了解一些来自 rest 的数据类型,例如 Stream、XML、HttpRequest。 我构建了这个简单的接收器,但到目前为止它无法正常工作。
[WebInvoke(UriTemplate = "/PostMessage", Method = "POST")]
public String InsertMessage(XmlEntity value)
String re = null;
foreach (XmlNode node in value.ChildNodes)
string text = node.InnerText;
string tag = node.Name;
re = text;
如果 Postman 将 Post 发送到我的项目,我的方法不会变成 get 类型吗?
如何访问 xml 请求中的每个标签及其各自的值?
邮递员向我发送此错误 400 遇到无效的根元素名称“消息”。 'root' 是唯一允许的根元素名称。
【问题讨论】:
【参考方案1】:无法在 WCF 中正确序列化和反序列化 XmlEnity 的类型。我们最好使用强类型数据,并用 DataContract 属性装饰自定义类。https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/using-data-contracts SOAP 消息中的 XML 和 JSON 数据格式由 WCF 框架本身实现。
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Xml,
RequestFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.WrappedRequest,
UriTemplate ="BookInfo/")]
请参考回复中的例子。Get the object is null using JSON in WCF Service 如果有什么可以帮助的,请随时告诉我。
【讨论】:
以上是关于通过邮递员将帖子请求接收到 wcf的主要内容,如果未能解决你的问题,请参考以下文章