【发布时间】:2015-01-23 14:00:17
【问题描述】:
我正在尝试调用 Web 服务,但在播放框架 2.0.x 中我无法调用任何已编码的 Web 服务。
我查看了代码:
public static Result wsAction() {
return async(
play.libs.WS.url(Play.application().configuration()
.getString("sms.service.url"))
.setContentType("application/x-www-form-urlencoded; charset=utf-8")
.post("param1=foo¶m2=bar").map(
new F.Function<WS.Response, Result>() {
public Result apply(WS.Response response) {
return ok(response.toString());
}
}
)
);
}
我已在 play framework 2.0.8 上尝试过上述代码,但出现此错误:
错误:找不到符号 .setContentType("application/x-www-form-urlencoded; charset=utf-8")
有没有办法在播放框架 2.0.8 中设置内容类型。 ?
谢谢
编辑:
这是我的代码:
Promise<WS.Response> result2 = WS.url("desired-url")
.setQueryParameter("sUsername","test")
.setQueryParameter("sPwd","hbl@1234")
.setQueryParameter("sMobileno","03332560744")
.setQueryParameter("sTransaction_id","asdfasdfasdfasdfasdf")
.setQueryParameter("sMessage","test")
.post("content");
WS.Response rs = result2.get();
它返回无效格式错误。而且我还使用 form-data 并使用相同的参数从 REST 客户端尝试过,它也返回相同的错误“格式无效”。但是当我用 x-www-form-urlencoded 尝试它时,它会返回所需的结果。但在播放 2.0 中我无法设置内容类型。
谢谢
【问题讨论】:
标签: java web-services playframework playframework-2.0