我尝试使用 http 适配器调用 rest 服务,但得到了不受支持的媒体类型异常。
我的适配器和服务器端代码如下
var invocationData = { 适配器:'MyHttpAdapter',过程:'myAdapterProcedure',参数:[myJSONObject] };
WL.Client.invokeProcedure(invocationData, {
onSuccess : success,
onFailure : failure
});
功能 myAdapterProcedure(prarams) {
var input = {
method : 'put',
returnedContentType : 'json',
path : 'mobile/rest/notes/getMyWebData',
parameters : prarams
};
return WL.Server.invokeHttp(input);
}
服务器端:@PUT @Path("addNotes")
@Consumes("application/json") @Produces("application/json") public String addNotes(MyNotes pVo) throws Exception { System.out.println("1231231" + pVo); 返回 pVo;}
详细异常:无法解析 JSON 字符串 Apache Tomcat/6.0.35 - 错误报告
HTTP 状态 415 - 不支持的媒体类型
类型状态报告
消息不支持的媒体类型
描述服务器拒绝此请求,因为请求实体的格式不受所请求方法的请求资源支持(不支持的媒体类型)。
Apache Tomcat/6.0.35
FWLSE0101E: 原因:[project GMobile]java.io.IOException:第 1 行第 1 列 com.worklight.common.log.filters.ErrorFilter 出现意外字符“<”尝试使用 Put、Post 方法调用并得到相同的异常。在服务器方法上尝试使用 '@Consumes({ MediaType.APPLICATION_JSON }) 仍然得到相同的错误。谁能让我知道我在这里缺少什么...
在这里发现了同样的问题,没有解决方案。ref: 如何在 REST Web 服务中发送 JSON 数据?