我试图使用http适配器调用rest服务,但遇到不支持的媒体类型异常。
我的适配器和服务器端代码如下
var invocationData={适配器:“MyHttpAdapter”,过程:“myAdapterProcedure”,参数:[myJSONObject]};
WL.Client.invokeProcedure(invocationData, {
onSuccess : success,
onFailure : failure
});
函数myAdapter程序(prarams){
var input = {
method : 'put',
returnedContentType : 'json',
path : 'mobile/rest/notes/getMyWebData',
parameters : prarams
};
return WL.Server.invokeHttp(input);
}
服务器端:@PUT@路径("addNotes")
@消耗("Application/json")@生成("Application/json")公共字符串addNotes(MyNotes pVo)抛出异常{System.out.println("1231231"pVo);返回pVo;}
详细异常:未能分析JSON字符串Apache Tomcat/6.0.35-错误报告
类型状态报告
消息不支持的媒体类型
说明服务器拒绝了此请求,因为请求实体的格式不受请求方法的请求资源支持(不支持的媒体类型)。
在服务器上尝试使用“@消费”({MediaType.APPLICATION_JSON})方法仍然会得到同样的错误。有人能让我知道我在这里错过了什么吗...
在这里发现了相同的问题,但没有解决方案。ref:如何在rest web服务中发送JSON数据?
您是否尝试过使用REST客户端检查REST服务(我正在使用firefox加载项“RESTClient”在worklight之外测试我的REST服务)?
如果在REST服务端没有问题,那么需要检查http适配器“input”对象中的头。
您必须在超文本传输协议请求中将内容类型参数设置为“应用程序/json”。为此,请添加“标头”属性,如下所示:
var input = {
method : 'put',
returnedContentType : 'json',
path : 'mobile/rest/notes/getMyWebData',
parameters : params,
headers : 'Content-Type: application/json'
};
当做
我在BIDV工作,这是IBM在越南的一个大客户。 我正在开发一个JMS适配器来向TIBCO EMS发送消息。当我在Eclipse中调用过程时,会出现以下错误:
问题内容: 我目前正在尝试从Android应用程序向php服务器发送数据(两者均由我控制)。 应用程序中的表单上收集了很多数据,这些数据已写入数据库。所有这一切。 在我的主代码中,首先我创建一个JSONObject(在此示例中,我已在此处将其裁剪): 接下来,我将对象传递给发送对象,并接收响应: HTTPPoster类: 这将获得响应,但是服务器返回403-禁止响应。 我试过稍微更改doPost函
exampleAdapter.java
我正在尝试使用POST提交表单,但我有一些来自 标记的额外数据,这些数据已存储到JS对象中。当我从JavaScript中点击时,我想把它发送到服务器。 我尝试做的是用事件发送
问题内容: 如何将JSON数据从浏览器中的Javascript发送到服务器,并由PHP在其中进行解析? 问题答案: 我在这里获得了很多信息,所以我想发布我发现的解决方案。 问题: 从浏览器上的Javascript获取JSON数据到服务器,然后让PHP成功解析它。 环境: Windows上的浏览器(Firefox)中的Javascript。LAMP服务器作为远程服务器:Ubuntu上的PHP 5.3