1:下载以下jar包
下载地址:https://download.csdn.net/download/qq_36880602/12015383
2:代码调用如下:
请求报文可以下载一个soapUI工具生成,如下图,请求报文与响应报文
/**
* @param wsdlpath wsdl路径
* @param soapXml 请求报文
* @param socketTimeout 连接超时时间 毫秒
* @param connectTimeout 传输超时时间 毫秒
* @param username 用户名 (如果不需要验证为空就行)
* @param password 密码
* @return 返回响应报文
* */
public static String invokeWebService(String wsdlPath, String soapXml,int socketTimeout, int connectTimeout ,String userName,String passWord){
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(wsdlPath);
//验证用户名密码(不需要验证则可以屏蔽此行)
httpClient.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, passWord));
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(socketTimeout);
httpClient.getHttpConnectionManager().getParams().setSoTimeout(connectTimeout);
try {
RequestEntity requestEntity = new ByteArrayRequestEntity(soapXml.getBytes("utf-8"));
postMethod.setRequestEntity(requestEntity);
postMethod.setRequestHeader("Content-Type","text/xml;charset=UTF-8");
postMethod.setRequestHeader("SOAPAction", "");
httpClient.executeMethod(postMethod);
String respXml = postMethod.getResponseBodyAsString();
System.out.println("respXml:=====================================" + respXml);
return respXml;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (postMethod != null)
postMethod.releaseConnection();
}
return null;
}