>
Mostrando entradas con la etiqueta webservice. Mostrar todas las entradas
Mostrando entradas con la etiqueta webservice. Mostrar todas las entradas

29 marzo 2014

TimeOut en un webservice sin tocar el código autogenerado

Alguna vez seguro que habéis necesitado que el cliente del servicio web al que estáis llamando no tenga un tiempo de espera muy grande, sobre todo si es llamado desde un proceso que se ejecuta en una web, ya que podemos dejar colgados threads.
Con el siguiente código podreis ajustar este tiempo sin tener que modificar los ficheros generados por el wsdljava

//direccion del webservice 
String myEndpointURL = "endpointURL";
// tiempo de espera del web service
Integer myTimeOutWS = new Integer(60000);
XXXXXXX_DefaultLocator service = new XXXXXXX_DefaultLocator();
//Casteamos el Service a Stub
org.apache.axis.client.Stub stub = (org.apache.axis.client.Stub) service.getXXXXXXX_DefaultSoap12(new URL(endpoint));
//Seteamos el timeout de la llamada del servicio web 
stub.setTimeout(myTimeOutWS != null ? myTimeOutWS.intValue() : 60000);
serviceProvider = service.getXXXXXXX_DefaultSoap12(new URL(conectionUrl));

13 agosto 2011

Como saber la ip de un usuario de un webservice ( web service)

Para saber que ip te llega utiliza este código en la parte del servidor :

HttpServletRequest httpReq = (HttpServletRequest) MessageContext.getCurrentContext().getProperty(
HTTPConstants.MC_HTTP_SERVLETREQUEST);

//devuelve la ip del cliente
String ip = httpReq.getRemoteAddr();

//devuelve el header del cliente
String browser = httpReq.getHeader("User-Agent");