使用json在SmartGWT webservice调用中获取响应状态代码0

时间:2012-06-09 10:34:19

标签: json web-services smartgwt

我使用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”。

任何解决方案???

1 个答案:

答案 0 :(得分:0)

我认为这是由防火墙引起的。我做了一些测试,这是最可能的解释。