¿Como desde una implemetacion de un Web service, puedo leer el contexto de un servlet?
La respuesta a esta pregunta, que a priori es muy sencilla, se vuelve un poco compleja. He estado buscando informacion por la red y he visto que la gente usaba Spring. Pero ¿para que? Así que, he seguido buscando y al final encontré una solucion para el estandar de J2EE 6 .
@webService
public class MiServicio{
@Resource
private WebServiceContext webServiceContext;
ServletContext context;
public boolean damePath(){
if(webServiceContext != null){
context=(ServletContext)webServiceContext.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
return context.getContextPath();
}
}
}
Hay muchos comentarios que al acceder al contexto, devuelve Null. Esto es debido a que cuando llamas a un WS el metodo, no es persistente. Es decir las variables son inicializadas. Así que cada metodo del WS debe aceder a la carga del contexto para que este valor no sea nulo.
No comments:
Post a Comment