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) を使用する理由はありませんが、データ ソースを使用する考えがありません。これを行うための参照または資料を提供できますか??

そして、これをクロムブラウザで実行すると、エラーコンソールに次のように表示されます。

XMLHttpRequest は http:// "requested Url" を読み込めません。Origin http:// "localhost:8888" は Access-Control-Allow-Origin で許可されていません。

解決策はありますか?

4

1 に答える 1

0

これはファイアウォールが原因だと思います。私はいくつかのテストを実行しましたが、これが最も可能性の高い説明です。

于 2012-06-12T16:34:30.890 に答える