2011-04-13 3 views
1

가끔 Google App Engine에서 내 앱에 rpc를 호출하면 오류가 발생합니다. 일반적으로 Window.Alert()를 사용하여 오류 코드를 출력 한 다음 로그를 읽고 문제를 해결합니다.gae gwt rpc 오류 0

이번에는 오류 코드가 단순히 "0"이며 아무 것도 입력되지 않습니다 로그 파일에서. 코드는 다음과 같습니다

myService.doStuff(new AsyncCallback<Boolean>() 
     { 
      @Override 
      public void onSuccess(Boolean result) 
      { 
       if(result) 
        Window.alert("yay"); 
       else 
        Window.alert("nay"); 
      } 

      @Override 
      public void onFailure(Throwable caught) 
      { 
       Window.alert(caught.getMessage()); 
      } 
     }); 

시간의 대부분을, 나는 성공에 따라 야호/아니 얻을 그러나 드문 번 난 그냥 "0"..이 무엇 인거야? : s

서버 측 코드는 실제로 데이터 저장소에 들어가거나 저장하고 사용자가 로그인했는지 여부를 확인할 수 있습니다. 이는 대부분의 RPC 호출에서 무작위로 발생합니다.

답변

1

caught 개체는 아마도 StatusCodeException의 인스턴스입니다. 이 상태의 트리거는 다소 브라우저에 따라 다르지만 브라우저에서 기본 XHR을 전송하지 않으면 0 상태 코드가 표시됩니다. 예를 들어 file:// URL의 XHR을 만들려고 할 때 0 상태 코드가 표시됩니다 (이 경우에는 일어나지 않을 수도 있음).

임의로 발생하는 것으로 문제를 설명하기 때문에 XHR에 영향을주는 브라우저 환경에 문제가있는 것 같습니다. 이 문제는 단일 브라우저 또는 컴퓨터에 설치된 모든 브라우저에서만 발생합니까? 여러 대의 컴퓨터에서 이런 일이 발생합니까?