WCF 接口定义为
控制台调用方法如下
控制台如果添加服务引用 生成代理类访问可以成功请求
但是像这样访问 就会报415错误
用postman也是这个错误 什么问题啊 快懵逼了
详细错误
StatusCode: 415, ReasonPhrase: 'Cannot process the message because the content type 'application/json; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'.', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
X-SourceFiles: =?UTF-8?B?RTpcQ29kZVxNZW5nR3VhbmdIUlxNRy5IUi5XQ0ZTZXJ2aWNlXEFjdGl2aXRpV0ZTZXJ2aWNlLnN2Y1xhcGlcVGFza0NoYW5nZWQ=?=
Cache-Control: private
Date: Sun, 28 Apr 2019 07:12:39 GMT
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Content-Length: 0
}
首先要确定一点你的wcf 服务是否基于restful, 具体查看配置:binding="webHttpBinding"。
是的 已经设置成binding="webHttpBinding" 现在的GET的几个方法正常了 但是post的还是不行 要哭了
发送请求报的错为
@摩尼酸奶:
同时update下client那块的配置!
另外你post操作时,client端的json数据和服务端的实体类结构应该是匹配不上,进而导致序列化或者发序列化时发生了异常!
@~扎克伯格: 哈哈 多谢 把taskjson 的值对应的json换成纯字符串 就可以进去了 是调用时候参数不对 但是感觉这个问题好奇怪 把数组改成了字符串
修改之后的json纯字符串参数
{
"taskJson": "[{'PendId':0,'SerialNumber':'2610000002440643','K2Appname':null,'AppName':null,'K2ProcessName':null,'ProcessName':null,'ProcessId':2610000002440643,'AppId':'16004','K2ActName':null,'ActName':'HRD','ActCNName':'人事总监','Createtime':null,'Approver':'CynthiaMeng','K2Approver':null,'Operater':'','OperateTime':'2019-04-29T16:04:01.8614211+08:00','ActID':'','CompanyID':null,'TableName':null,'SelectDataSources':null,'State':1}]"
}
@~扎克伯格: 服务器端的client是做啥的 感觉没啥用啊 我直接给删掉了
@~扎克伯格: 多谢多谢 多谢 非常感谢 卡了好久