2010-04-13 8 views
10

저는 X-GWT- 모듈 -베이스 http://host:8080/foo/이있는 GWT 모듈을 가지고 있으며 http://host:8080/bar/에 위치한 (GWT) 서비스를 호출하려고합니다. 그 이유는 예를 들어 두 개의 다른 GWT 클라이언트 프로젝트간에 GWT 서비스를 공유 할 수 있기를 원합니다.GWT 모듈베이스와 다른 컨텍스트에서 GWT 서비스 호출?

서비스가 모듈 컨텍스트 내에있는 경우 (예 : http://host:8080/foo/bar) 서비스 인터페이스에 @RemoteServiceRelativePath("bar")을 사용하면됩니다.

@RemoteServiceRelativePath은 모듈 기본 URL에 상대적인 값만 허용하는 것 같습니다 ... 그래서 달성하려는 목표를 달성하는 다른 방법이 있습니까?

답변

14

대답 자신을 right here 찾는까지 종료 : 당신 그것은 relativepath를가, 그 문제를 해결하는 하나의 방법이

((ServiceDefTarget)gwtService).setServiceEntryPoint("/some/absolute/path"); 

이상을 사용하는 것입니다라고 눈치

문제 때문에 RemoteServiceRelativePath의 표시를 상대 경로의 힘을 사용하십시오. (내가 어찌하여 게으름)

대신/MODB/servX 또는/MODA의/servX이 될 것입니다

10/servX 더 가없이 모듈은 또한 당신의 web.xml에 적절한 변경을해야합니다 를 호출하지 그래서

+0

을 그 답으로 자신을 깍아 낼 수 있습니다. +1. – mgiuca

+0

GWT.create에서 가져온 비동기 서비스 객체의 이름은'gwtService'입니다. GWT.create를 호출 한 직후 setServiceEntryPoint를 호출해야합니다. 이것은 매우 실망스러운 해결책입니다 ... 그것은 클라이언트 프로젝트의 삶을 상당히 어렵게 만듭니다 (저는 URL 세부 정보를 라이브러리에 포장하고 싶습니다). 오 잘. – mgiuca