WCF REST:传入消息具有意外的消息格式“Json”。预期的邮件格式为'Raw'

时间:2017-11-12 18:49:31

标签: c# json rest wcf postman

所以我看到很多问题反复出现错误反过来,但不是这样。

在我的WCF服务中,我已经定义了如下方法:

[OperationContract]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Bare, Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "v1/posttest")]
void PostTest(Stream incoming);

在我的请求标题中,我将Content-Type设置为application / json

所以一切都应该有效,对吧?但是,我收到400错误请求错误以及您在问题标题中看到的通知。

感谢任何帮助。非常感谢!

2 个答案:

答案 0 :(得分:0)

事实证明,我应该尝试最明显的事情......在我的客户端中删除Content-Type标头解决了这个问题。

对我来说似乎仍然不直观,任何人都可以解释为什么WCF会这样做吗?

答案 1 :(得分:0)

非常好!万分感谢。

这运行得很好:

read: {
        url: "http://localhost:33473/Service2.svc/GetProfile", //contentType: "application/json; charset=utf-8", // tells the web service to serialize JSON
        type: "POST", //use HTTP POST request as the default GET is not allowed for svc
      }