所需jar包:axis.jar,commons-logging-1.0.3.jar,wsdl4j-1.5.1.jar,commons-discovery-0.2.jar附件中有
代码:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class Test {
public static void main(String[] args) {
try {
//直接引用远程的wsdl文件
String endpoint = "http://127.0.0.1:8088/testWS/services/HelloService";
//以下都是套路
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setEncodingStyle("wsdl");//参数为int时要加上这句话
call.setOperationName("sayHi");//WSDL里面描述的接口名称
call.addParameter("in0", org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);//接口的参数
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
//call.setReturnType(XMLType.SOAP_VECTOR);//当返回类型为数组时这样设置
String temp = "测试人员";
//给方法传递参数,并且调用方法
String result = (String)call.invoke(new Object[]{temp});
System.out.println("result is "+result);
} catch (Exception e) {
System.err.println(e.toString());
}
}
}