package com.test.servlet;
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;
import org.apache.axis.message.SOAPHeaderElement;
public class WebService {
public void invode(){
// 服务端的url,需要根据情况更改。
String endpointURL = "http://10.32.0.76/Service/Certificat.asmx?WSDL";
//命名空间
String workspace = "http://tempuri.org/";
Service service = new Service();
try {
Call call = (Call) service.createCall();
//设置要执行的方法名
String methodName = "getName";
//设置这个方法中的参数名
String parameterName = "name";
call.setSOAPActionURI(workspace+methodName);
//设置WEBSERVICE地址
call.setTargetEndpointAddress(new java.net.URL(endpointURL));
// 设置操作的名称。
call.setOperationName(new QName(workspace, methodName));
// 如果需要认证,需要设置调用的用户名和密码。
// SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(methodName, "SoapAuthHeader");
// soapHeaderElement.setNamespaceURI(workspace);
// call.addHeader(soapHeaderElement);
// 如果有返回 需要设置 返回的数据类型
call.setReturnType(XMLType.XSD_STRING);
//如果有参数,需要设置参数 三个参数 1 参数名 2 参数类型 3 参数模式,输入或返回
call.addParameter(new QName(workspace,parameterName), XMLType.XSD_STRING, ParameterMode.IN);// 参数的类型
String ret = (String) call.invoke(new Object[] {""});
System.out.println(ret);
} catch (Exception e) {
e.printStackTrace();
}
}
}