我使用SmartGWT开发了应用程序。现在我需要使用json将webservice调用到另一个应用程序,该应用程序部署在另一个服务器中以提交用户名和密码。当我使用url和POST方法发出请求时,将响应状态代码设置为0,将响应文本设置为空白。
这是我的代码,
public void sendRequest() throws Exception {
// Get login json data to be sent to server.
String strData = createLoginReqPacket();
String url = "some url";
RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, url);
builder.setHeader("Content-Type", "application/json");
builder.setHeader("Content-Length", strData.length() + "");
Request response = builder.sendRequest(strData, new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
int statusCode = response.getStatusCode();
System.out.println("Response code ----"+response.getStatusCode()+"");
if (statusCode == Response.SC_OK) {
String responseBody = response.getText();
System.out.println("Respose :" + responseBody);
// do something with the response
} else {
GWT.log("Response error at server side ----",null);
// do in case of server error
}
}// end of method.
@Override
public void onError(Request request, Throwable exception) {
GWT.log("**** Error in service call ******",null);
}// end of method.
});
builder.send();
}// end of send request.
请有人知道解决方案吗?
因为我是GWT / SmartGwt的新手,所以对此并不多。
@ModeEngage 没有理由使用GWT类(RequestBuilder),但我不知道使用数据源。你可以提供参考资料吗?
当我在Chrome浏览器中运行时,我会在错误控制台中获得以下内容。
XMLHttpRequest无法加载http://“请求的Url”。 Access-Control-Allow-Origin不允许使用原始http://“localhost:8888”。
任何解决方案???
答案 0 :(得分:0)
我认为这是由防火墙引起的。我做了一些测试,这是最可能的解释。