调用web接口的的方法有:
1、Call
2、HttpURLConnection或HttpClient,需拼接报文
3、使用hutool,测试后发现生成报文格式与hutool文档说明不同,因此未采用,不列出
1、使用Call访问
认证可以直接set
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL("url"));
call.setOperationName("operation");
call.setUsername("user");
call.setPassword("psd");
call.setTimeout(3000);
result= (String)call.invoke(new Object[]{operation, systemName, xmlData})
2、以HttpURLConnection为例
URL url = new URL(serviceUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "text/xml;charset=utf-8");
connection.setRequestProperty("SOAPAction", "");
// 设置连接主机服务器的超时时间:毫秒
connection.setConnectTimeout(1000);
// 设置读取远程返回的数据时间:毫秒
connection.setReadTimeout(1000);
String authentication = "user:psw";
connection.setRequestProperty("Authorization", "Basic " + Base64.getEncoder().encodeToString(authentication.getBytes()));
// 发送请求
connection.connect();
OutputStream os = conn.getOutputStream();