wcf - rest WCF服务错误传入消息具有意外的消息格式'Raw' 预期的消息格式为'Xml','Json'

  显示原文与译文双语对照的内容
130 5

我想将jason格式的数据发送到wcf服务以进行处理。 在使用fiddler向服务发送jason服务时,开发了Wcf服务,当服务器遇到错误时抛出错误- 服务器遇到错误。 异常消息为'传入邮件的消息格式不对'raw"。 操作的预期消息格式为'xml'。'json'。 这可能是因为 web WebContentTypeMapper没有在绑定上配置。 有关更多详细信息,请参见 web WebContentTypeMapper的文档。"。 有关详细信息,请参阅服务器日志。


Service contract


================



 public interface IRegisterEmployee


 {



 [OperationContract]


 [WebInvoke(Method ="POST", RequestFormat = WebMessageFormat.Json, BodyStyle=WebMessageBodyStyle.Bare, ResponseFormat=WebMessageFormat.Json, UriTemplate ="AddEmployee")]


 bool ProcessEmployee(Employee emp);


 }



 [DataContract]


 public class Employee


 {


 [DataMember]


 public string emp { get; set; }//this is actually a complex type, but simplified here



 }



Service class


============


public class RegisterEmployee : IRegisterEmployee


 {


 public bool ProcessEmployee(Employee emp)


 {


//do some processing


 return true;



 }



Web.config


=========


<services>


 <service name="Project.RegisterEmployee">


 <endpoint address="Rest" behaviorConfiguration="RestfulBehavior" binding="webHttpBinding" name="Rest" contract="Project.IRegisterEmployee"/>


 <endpoint address="Soap" behaviorConfiguration="" binding="basicHttpBinding" name="Soap" contract="Project.IRegisterEmployee"/>


 <endpoint address="Mex" behaviorConfiguration="" binding="mexHttpBinding" name="Mex" contract="IMetadataExchange"/>


 <host>


 <baseAddresses>


 <add baseAddress="http://localhost/Project"/>


 </baseAddresses>


 </host>


 </service>


 </services>



 <endpointBehaviors>


 <behavior name="RestfulBehavior">


 <webHttp automaticFormatSelectionEnabled="true"/>


 </behavior>


 </endpointBehaviors>



*Fiddler


======


POST; http://localhost/Project/RegisterEmployee.svc/Rest/AddEmployee


Content-Type: application/jason


Request Body = {"emp" :"test"}*



Error - HTTP/1.1 400 Bad Request



如果我使用 wcftestclient ( 调试模式),它很好- 猜测它使用的是 soap/xml 。

时间: 原作者:

98 1

请求的内容类型应该是应用程序/收费的json,而不是应用程序/应用程序 jason 。 尝试改变它,它应该能工作。

原作者:
...