pom依赖
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>wsdl4j</groupId>
<artifactId>wsdl4j</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>javax.xml.rpc</groupId>
<artifactId>javax.xml.rpc-api</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.5</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
java 代码--wsdl
String url = "http://********:9000/soc/services/Xb";
String localPart = "getInsInfo";
String No = "11111223212";
String time = "";
String size = "";
Object result = null;
Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(url));
// WSDL里面描述的接口名称(要调用的方法)
call.setOperationName(new QName(url, localPart));
//跨平台调用加上这个
call.setUseSOAPAction(true);
call.setSOAPActionURI(url);
// 接口方法的参数名, 参数类型,参数模式 IN(输入), OUT(输出) or INOUT(输入输出)
call.addParameter("cusNo", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("user", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("pwd", XMLType.XSD_STRING, ParameterMode.IN);
// 设置被调用方法的返回值类型
call.setReturnType(XMLType.XSD_STRING);
/* 设置方法中参数的值 */
result = call.invoke(new Object[]{null, "weddsf", "123456"});
} catch (ServiceException | RemoteException | MalformedURLException exception) {
log.info("---------------------------------------异常");
exception.printStackTrace();
}
java 代码--asmx
String url = "http://******:10511/WebServiceDataWithControl.asmx";
//在浏览器输入上面的地址查看namespace
String namespace = "http://www.suntront.com/";// targetNamespace
String actionURI = "GetReadNowData"; // Action路径
String op = "GetReadNowData"; // 要调用的方法名
String localPart = "GetAllFreezeDayData";
Object result = null;
Service service = new Service();
try {
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(url));
//跨平台调用加上这个c
call.setUseSOAPAction(true);
call.setSOAPActionURI(namespace + actionURI);
// 设置要调用哪个方法
call.setOperationName(new QName(namespace, op));
// 接口方法的参数名, 参数类型,参数模式 IN(输入), OUT(输出) or INOUT(输入输出)
call.addParameter(new QName(namespace, "user"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace, "pwd"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace, "pageSize"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace, "currentPageIndex"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace, "meterAddr"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace, "orderType"), XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace, "userCode"), XMLType.XSD_STRING, ParameterMode.IN);
// 设置被调用方法的返回值类型
call.setReturnType(XMLType.XSD_STRING);
/* 设置方法中参数的值 */
result = call.invoke(new Object[]{"wfsdfew","fsdfewfsf","10","1",null,"1",null});
log.info("----------------------------------------end--保存結果{}", result);
} catch (ServiceException | RemoteException | MalformedURLException exception) {
log.info("---------------------------------------异常");
exception.printStackTrace();
}