Java访问WebService设置访问用户名、密码、超时时间(导入wsdl方式)

前置代码请参考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版权协议,转载请附上原文出处链接和本声明。