我在设置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);
}
}
使用方法:
VoipDB db = new VoipDBJDBCService(new URL(url)).getVoipDBJDBCPort();
我该如何挂接超时?我在此处找到了“解决方案”:https://jax-ws.dev.java.net/guide/HTTP_Timeouts.html,但我不知道应该在哪里进行挂接。如何获取代理?当我调用getPort时,客户端尝试连接,如果服务器没有响应,它就会永远挂起。更新:如果这有任何区别,这段代码是从小程序的init()方法中调用的。
com.sun.xml.ws.developer.JAXWSProperties
并使用JAXWSProperties.CONNECT_TIMEOUT
和JAXWSProperties.REQUEST_TIMEOUT
是有意义的。 - dma_k