Tengo problemas para establecer el tiempo de espera de jax-ws. Mi código es:Configuración del tiempo de espera del cliente jax-ws
@WebServiceClient(name = "VoipDBJDBCService", targetNamespace = "http://db.server.voipmeter.jextreme.eu/", wsdlLocation = "http://trace0.nyc.blinkmind.com:8080/voipdb?wsdl")
public class VoipDBJDBCService extends Service {
public VoipDBJDBCService(URL wsdlLocation) {
super(wsdlLocation, new QName("http://db.server.voipmeter.jextreme.eu/", "VoipDBJDBCService"));
}
@WebEndpoint(name = "VoipDBJDBCPort")
public VoipDB getVoipDBJDBCPort() {
return super.getPort(new QName("http://db.server.voipmeter.jextreme.eu/", "VoipDBJDBCPort"), VoipDB.class);
}
}
Y el uso:
VoipDB db = new VoipDBJDBCService(new URL(url)).getVoipDBJDBCPort();
¿Cómo conecto en los tiempos de espera? He encontrado una "solución" aquí: https://jax-ws.dev.java.net/guide/HTTP_Timeouts.html pero no sé dónde la voy a enganchar. ¿Cómo obtener un proxy? Cuando llamo a getPort, el cliente intenta conectarse y luego se cuelga para siempre si el servidor no responde.
ACTUALIZACIÓN: Este código se invoca desde el método applets init() si eso hace la diferencia.
En realidad, esto no funciona porque el cliente se cuelga en la línea en la que se llama getPort. – Lukasz
Bueno, eso es todo lo que puedes hacer con el método provisto en el enlace. jax-ws descarga el WSDL del servicio para crear el proxy. Lo más probable es que esto sea lo que le cause problemas. Lo único que se me ocurre en este momento es descargar una copia local de WSDL y usarla, pero por supuesto esto no es realmente elegante ... – musiKk