小编Pad*_*ish的帖子

415不支持的媒体类型 - 在lightswitch 2012中将json POST到OData服务

我在使用JSON时发布到OData服务时收到'错误415:不支持的媒体类型'.

解决这个相当长的帖子的底部.

我可以使用JSON获取,但是一旦我尝试POST,我就会收到此错误.

我也可以使用XML进行GET/POST,但是我需要使用json.

我认为这个错误指的是我的标题中的错误,而不是我的请求体的json格式,下面也可能是不正确的,我尝试了一些导致相同错误的变体.

我一直在尝试使用Fiddler进行调试,结果如下.

JSON POST

请求

POST http://scdb38:8888/bi.test/applicationdata.svc/Sharks HTTP/1.1
User-Agent: Fiddler
Host: scdb38:8888
Content-Length: 91
Accept: application/json;odata=verbose;
Content-Type: application/json;

{
   "d":[
      {
         "Name":"Great White ",
         "Food":"Surfers"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

响应

HTTP/1.1 415 Unsupported Media Type
Cache-Control: private
Content-Length: 186
Content-Type: application/json;odata=verbose;charset=utf-8
Server: Microsoft-IIS/7.5
X-Content-Type-Options: nosniff
DataServiceVersion: 1.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 16 Oct 2013 06:20:10 GMT

{"error":{"code":"1","message":{"lang":"en-AU","value":"<?xml version=\"1.0\" encoding=\"utf-16\"?><ExceptionInfo><Message>Unsupported media type requested.</Message></ExceptionInfo>"}}}
Run Code Online (Sandbox Code Playgroud)

JSON GET

请求标题

GET http://scdb38:8888/bi.test/applicationdata.svc/Sharks HTTP/1.1
User-Agent: Fiddler
Host: scdb38:8888
Content-Length: 0
Accept: …
Run Code Online (Sandbox Code Playgroud)

post json web-services odata visual-studio-lightswitch

25
推荐指数
1
解决办法
17万
查看次数