RequestBuilder.send() で HTTP リクエストを送信しています。成功した応答が onResponseReceived() に返され、エラーが onError() に返されることを期待しています。しかし、それは私が見ているものではありません。GWT は、成功または失敗に関係なく onResponseReceived() を呼び出します。
私が本当に何を期待すべきか知っている人はいますか?エラーをより適切に検出して報告するのに役立つ情報はありますか?
サンプルコードは次のとおりです。
            builder.sendRequest(null, new RequestCallback() {
            @Override
            public void onResponseReceived(Request request, Response response) {
                Header[] debugHeaders = response.getHeaders();
                String debugHeaders1 = response.getHeadersAsString();
                int debugStatusCode = response.getStatusCode();
                String debugStatusText = response.getStatusText();
                String debugText = response.getText();
                handleResponse(response);
            }
            @Override
            public void onError(Request request, Throwable exception) {
                reportError();
            }
        });
Wi-Fi を無効にすることで、コンピューターで強制的にエラーを発生させることができます。その場合、 onResponse() が呼び出されます。getHeaders() は長さ 1 の配列を返します。唯一のエントリは null に設定されています。getHeadersAsString は "" を返します。getStatusCode は 0 を返します。getStatusText() は "" を返します。getText() は "" を返します。
これが常に当てはまる場合は、コードでそれを探すことができます。ただし、ブラウザーが異なれば、エラーが異なれば、結果も異なると思います。常にエラーを検出する良い方法はありますか?
(HTTP の問題がない限り、私のコードは正常に動作します。)