c# – HTTP / 1.1 415无法处理消息,因为内容类型为’application
发布时间:2020-12-15 08:40:01 所属栏目:百科 来源:网络整理
导读:尝试将json字典发布到C#WCF,当我调用HTTP响应415时.有人可以告诉我我的代码有什么问题. 对象类 [DataContract]public class Class1{ [DataMember] public string AccNo; [DataMember] public string CompanyName; [DataMember] public string DocDate;} ISer
尝试将json字典发布到C#WCF,当我调用HTTP响应415时.有人可以告诉我我的代码有什么问题.
对象类 [DataContract] public class Class1 { [DataMember] public string AccNo; [DataMember] public string CompanyName; [DataMember] public string DocDate; } IService1.cs [OperationContract] [WebInvoke(Method = "POST",UriTemplate = "json/PostSalesOrderData",RequestFormat = WebMessageFormat.Json,ResponseFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Bare)] string PostSalesOrderData(string data); Service1.svc.cs public string PostSalesOrderData(string data) { JavaScriptSerializer serializer = new JavaScriptSerializer(); Dictionary<string,Class1> dict = serializer.Deserialize<Dictionary<string,Class1>>(data); return dict["Debtor"].AccNo.ToString(); } 小提琴细节 HTTP / 1.1 415无法处理消息,因为内容类型为’application / json; charset = utf-8’不是预期的类型’text / xml;字符集= UTF-8′ . 解决方法
您的服务端点未正确配置为接收JSON输入.为了使[WebInvoke]属性得到遵守,您的端点需要具有webHttpBinding,并且它还应具有类型为< webHttp />的端点行为.
确保正确配置的一种简单方法是使用.svc文件上的Factory属性.类似下面的例子: <%@ ServiceHost Language="C#" Debug="true" Service="YourNamespace.YourServiceClass" Factory="System.ServiceModel.Activation.WebServiceHostFactory" %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |