package com.example.demo.util;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
public class caClient {
public static void main(String[] args) {
try {
String endpoint = "https://ssoqs.ifco-online.com/membership/WSMembershipProviderPort?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
// call.setTargetEndpointAddress(goal_url);
//设置第三方webservice接口地址。
call.setTargetEndpointAddress(new java.net.URL(endpoint));
//设置需要访问的第三方webservice接口中的方法名称。
call.setOperationName(new QName("http://membership.webservice.cas.ifco.de/","validateUser"));
//向第三方webservice接口中的方法传参,in0为webservice接口中的方法参数名,就是形参,XMLType.XSD_STRING为 参数的数据类型。
QName arg0 = new QName("arg0");
call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
QName arg1 = new QName("arg1");
call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
call.getMessageContext().setUsername("AppChina");// 设置用户名。
call.getMessageContext().setPassword("$ner7A&?{M%6r::F;B56r%GZt$(o'9-");// 设置密码
//设置webservice接口返回值类型。
// call.setReturnType(XMLType.XSD_BOOLEAN);
//执行访问webservice接口的操作。
String result = (String) call.invoke(new Object[] {"ZHAJAC","Wednesday#03"});
System.out.println(result);
}
catch (Exception e) {
System.err.println(e.toString());
}
}
}
<!-- https://mvnrepository.com/artifact/javax.xml.rpc/javax.xml.rpc-api -->
<dependency>
<groupId>javax.xml.rpc</groupId>
<artifactId>javax.xml.rpc-api</artifactId>
<version>1.1.2</version>
</dependency>
wsdl4j wsdl4j 1.6.2