2011-07-08 9 views
5

tengo dudas sobre el código de abajo ..GWT problema de interfaz RPC

@RemoteServiceRelativePath("stockPrices") 
public interface StockPriceService extends RemoteService { 

    StockPrice[] getPrices(String[] symbols); 
} 

Podría alguien explicarme lo que es el uso de @RemoteServiceRelativePath("stockPrices") y el nombre que hay que ceder "stockPrices" .. es obligatorio ??

gracias de antemano !!!

Respuesta

8

Consulte documentation for RemoteServiceRelativePath annotation, explica muy bien lo que hace esta anotación. En su caso, su servicio debe estar ubicado en GWT.getModuleBaseURL() + "stockPrices" ... eso significa que si su aplicación GWT está en /mygwtapp, entonces su servicio debe estar en /mygwtapp/stockPrices. Depende de usted instalar algún servicio en esta URL, generalmente definiendo el servlet implementando la interfaz del servicio.

Puede utilizar cualquier otra ruta en lugar de "stockPrices", solo asegúrese de que exista un servicio real detrás de esta ruta en el servidor.

Sus servicios remotos necesitan algunos ruta remota (punto de entrada), o bien mediante el uso de @RemoteServiceRelativePath anotación, o estableciendo a través de ServiceDefTarget interface. Si el servicio no tiene punto de entrada, no se puede llamar. (Recuerde: este camino es el URL en el servidor)

Por ejemplo, en lugar de utilizar @RemoteServiceRelativePath, puede definir su servicio sin esta anotación, y luego, cuando se instancia proxy de servicio asíncrono, se establece explícitamente ruta:

StockPriceServiceAsync stockService = GWT.create(StockPriceService.class); 
((ServiceDefTarget) stockService).setServiceEntryPoint("/services/stock.service"); 
+0

Sí, lo entendí, ¡gracias por su respuesta! –

Cuestiones relacionadas