2014-12-29 8 views
0

내 GWTP 앱의 UI 및 백엔드 개발을위한 패키지를 분리하고 싶습니다. 현재 내 UI 액세스 같이 구성 나머지 파견을 사용하여 백엔드 :GWTP를 통한 원격 서비스 액세스 RestPatch

bindConstant().annotatedWith(RestApplicationPath.class).to("/MyProject/api"); 

나는 로컬 호스트 UI를 (이클립스 플러그인을 사용하여 GWT 응용 프로그램을 실행)를 사용하여 원격 서비스에 액세스 할 수 있습니다. 서버 (I AppEngine에 로그에이를 볼 수 있습니다)에 도달 성공적으로 호출이 사용

bindConstant().annotatedWith(RestApplicationPath.class).to("http://my-app.appspot.com/MyProject/api"); 

하지만 UI는 항상 위의 설정에 문제가 있습니다 어떤 상태 코드 0

을 다시 가져옵니다 나는 위의 라인을 변경? GWT를 사용하여 원격 서비스에 액세스하려면 다른 작업을해야합니까?

import com.google.gwt.core.client.GWT; 
import com.google.gwt.inject.client.AbstractGinModule; 
import com.google.inject.Provides; 
import com.gwtplatform.dispatch.rest.client.RestApplicationPath; 
import com.gwtplatform.dispatch.rest.client.gin.RestDispatchAsyncModule; 

public class ServiceModule extends AbstractGinModule { 
    @Override 
    protected void configure() { 
     install(new RestDispatchAsyncModule.Builder().build()); 
    } 

    @Provides 
    @RestApplicationPath 
    String getApplicationPath() { 
     String baseUrl = GWT.getHostPageBaseURL(); 
     if (baseUrl.endsWith("/")) { 
      baseUrl = baseUrl.substring(0, baseUrl.length() - 1); 
     } 

     return baseUrl + "/MyProject/api"; 
    } 
} 

getApplicationPath에 의해 반환되는 문자열 @RestApplicationPath에 바인딩하고 원활하게 사용됩니다 : 당신은 로컬 호스트에서 모두 작동하는 솔루션을 가지고 싶다면

답변

0

/App Engine은,이 같은 것을 사용할 것 GWTP의 RestDispatch에 의해.

로컬 또는 App Engine에서 실행되는 앱에 따라 문자열이 http://localhost:8080/MyProject/api 또는 "http://my-app.appspot.com/MyProject/api"으로 변환됩니다.

+0

내 응용 프로그램은 "bindConstant(). annotatedWith (RestApplicationPath.class) .to ("/ MyProject/api ");"를 사용하여 appengine과 localhost 모두 잘 동작합니다. 환경. 데스크톱 (localhost)에서 UI를 실행하고 앱 엔진 컴퓨터에서 실행되는 액세스 서비스를 실행하고 싶습니다. –

+0

오, 지금 무슨 뜻인지 알 겠어. 서버가 반환하는 상태 코드는 무엇입니까? 귀하의 GWT 앱이 상태 0을 수신하지만 귀하의 GAE 앱이 응답 한 실제 HTTP 코드인지 이해합니다. 예를 들어 서버가 200 OK로 응답하고 GWT 앱이 응답을 코드 0으로 해석하면 또 다른 문제 일 수 있습니다. – spg

+0

문제는 CORS가 올바르게 활성화되지 않았기 때문입니다. 자세한 내용은이 스레드를 참조하십시오. https://groups.google.com/forum/#!topic/gwt-platform/RrSOBeaqcEc –