第一步:使用之前需引用以下jar包:
第二步测试代码:
import javax.xml.namespace.QName;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
public class WebServiceUtil {
public static void main(String[] args) {
String url = "http://IP:port/接口service?wsdl";
String param = "123";
String methodName = "method";
System.out.println(testRPCClient(url, methodName, param));
}
@SuppressWarnings("rawtypes")
public static String testRPCClient(String url, String methodName, String param) {
String namespace = "WSDL地址里面对应命名空间名称";
String result = "{}";
try {
RPCServiceClient serviceClient = new RPCServiceClient();
EndpointReference targetEPR = new EndpointReference(url);
Options options = serviceClient.getOptions();
options.setTo(targetEPR);
options.setAction(methodName);
QName qname = new QName(namespace, methodName);
Object[] parameters = { param };
Class[] returnTypes = { String.class };
Object[] response = serviceClient.invokeBlocking(qname, parameters, returnTypes);
result = (String) response[0];
} catch (AxisFault e) {
e.printStackTrace();
}
return result;
}
}