0

我已经使用 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:// "requested Url" 。Access-Control-Allow-Origin 不允许来源 http://“localhost:8888”。

有什么解决办法???

4

1 回答 1

0

我相信这是由防火墙引起的。我已经进行了一些测试,这是最可能的解释。

于 2012-06-12T16:34:30.890 回答