2011-02-25 10 views
2

GWTのフロントエンドでRequestBuilderを使用して、HTTP GET要求をRestlet Webサービスに送信しています。ただし、リクエストはWebサービスに入り、WebサービスはString(JSONの形式)を返します。問題は、fireBugを通してプロセスを監視するときに応答が返されないことです。なぜ誰が知っていますか?RequestBuilderが空の応答を返す

String url = "http://localhost:8080/Books"; 

RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); 

try { 
    builder.sendRequest(null, new RequestCallback() { 

    public void onError(Request request, Throwable exception) 
    { 
     exception.printStackTrace(); 

     Window.alert("fail - " + exception.getMessage()); 
    } 

    public void onResponseReceived(Request request, Response response) 
    { 

     Window.alert("success - " + response.getText()); 
    } 
    }); 
} catch (RequestException e) 
{ 
    e.printStackTrace(); 
} 

response.getText()常に空を返す:ここ

は、コードがあります。

ありがとうございます!

アイク

+0

リクエストが発生したが、ファイヤーバグのように空の応答が返された場合、サーバー側のコードに問題があります。そのコードを投稿してください。 –

+0

いくつかの潜在的な問題。まず、Firefoxがオフラインモードでないことを確認します。応答ステータスコードとは何か、これは非常に重要です。 500はサーバーの問題、404はエンドポイントが間違っていること、200はrpc以外の問題があることを意味します(サービスコードのどこかが深い)。 –

答えて

1

あなたが要求を行うWebページを務め同じホストとポート上のRestletサーバへのお電話をしますか?

私はあなたがあなたの問題は、同一生成元ポリシーですhttp://en.wikipedia.org/wiki/Same_origin_policy

0

に実行されている推測しています。すべてのリクエストのプロトコル、ドメイン、およびポートは、GWTアプリケーションが提供されているものと同じでなければなりません。 Eclipseでポート8888で提供していて、カスタムサーバーがポート8080にある場合、これは簡単なことではありません。

たとえば、プロキシサーバーに設定するようにしてください。 http://localhost/gwt-app.htmlhttp://localhost:8888/gwt-app.html〜その他のものはすべてhttp://localhost:8080/*

関連する問題