2010-11-05 13 views
5

¿Hay alguna forma de leer la información del encabezado recibida por el cliente GWT, en la respuesta RPC?GWT Cabecera de respuesta RPC

Response header 
Server     Apache-Coyote/1.1 
Set-Cookie    JSESSIONID=3379B1E57BEB2FE227EDC1F57BF550ED; Path=/GWT 
Content-Encoding  gzip 
Content-Disposition attachment 
Content-Type   application/json;charset=utf-8 
Content-Length   209 
Date     Fri, 05 Nov 2010 13:07:31 GMT 

Estoy particularmente interés en identificar al cliente recibe el Set-Cookie atributo en su encabezado.

¿Hay alguna manera de hacerlo en GWT?

me encontré con que en

com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter<T> 

existe el método

public void onResponseReceived(Request request, Response response) { ... } 

En el parámetro de respuesta parece tener la información que necesito. El esto es, ¿existe alguna forma de obtener eso sin "traspasar" el código del compilador de GWT?

gracias

JuDaC

Respuesta

0

Si usted declara su método de servicio asíncrono para devolver un RequestBuilder que debería ser capaz de establecer una RequestCallback que será notificada cuando se recibe el Response. No lo he intentado yo mismo, pero parece que es lo que necesitas.

+1

@Issac, se puede explicar más acerca de su solución Gracias –

+0

@ Vegeta Probablemente. ¿Cuál es tu pregunta? –

1

Usted puede tratar de anular el método RpcRequestBuilder.doSetCallback y forzar su servicio para usarlo:

MyServiceAsync service = GWT.create(MyService.clas); 
((ServiceDefTarget) service).setRpcRequestBuilder(new RpcRequestBuilder() { 
    @Override 
    protected void doSetCallback(RequestBuilder rb, final RequestCallback callback) { 
     super.doSetCallback(rb, new RequestCallback() { 

      @Override 
      public void onResponseReceived(Request request, Response response) { 
       String headerValue = response.getHeader("my-header"); 
       // do sth... 
       callback.onResponseReceived(request, response); 
      } 

      @Override 
      public void onError(Request request, Throwable exception) { 
       callback.onError(request, exception); 
      } 
     }); 
    } 
}); 

Inspirado por http://stuffthathappens.com/blog/2009/12/22/custom-http-headers-with-gwt-rpc/

Cuestiones relacionadas