前置代码请参考Java服务端根据WSDL文档调用WebService的五种方式汇总中的Dome
public static void main(String[] args) {
MobileCodeWS service = new MobileCodeWS();
MobileCodeWSSoap port = service.getMobileCodeWSSoap();
((BindingProvider)port).getRequestContext().put(BindingProvider.USERNAME_PROPERTY,"user");
((BindingProvider)port).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,"123456");
long timeout = 3*60*1000;
//设置连接超时时间
((BindingProvider) port).getRequestContext().put("javax.xml.ws.client.connectionTimeout", timeout);
//设置请求超时时间
((BindingProvider) port).getRequestContext().put("javax.xml.ws.client.receiveTimeout", timeout);
((BindingProvider) port).getRequestContext().put("com.sun.xml.ws.connect.timeout", timeout);
((BindingProvider) port).getRequestContext().put("com.sun.xml.ws.request.timeout", timeout);
((BindingProvider) port).getRequestContext().put("com.sun.xml.internal.ws.connection.timeout", timeout);
((BindingProvider) port).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", timeout);
((BindingProvider) service).getRequestContext().put("sun.net.client.defaultConnectTimeout", timeout);
((BindingProvider) service).getRequestContext().put("sun.net.client.defaultReadTimeout", timeout);
String body = port.getMobileCodeInfo("15715700000",null);
System.out.println(body);
}
以上四种设置超时时间的方式,自行选择测试。
版权声明:本文为WZH577原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。