//使用RPC调用WebService
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
//指定调用WebService的URL,这个地方是wsdl的地址,但是后面的?wsdl不要加上
EndpointReference targetEPR = new EndpointReference("http://localhost:8080/service/services/AxisService");
options.setTo(targetEPR);
//这个地方是设置要调用的方法名字
options.setAction("urn:deduct");
//指定调用方法的参数值
Object[] opAddEntryArgs = new Object[]{"2c90e5683da01489013da0175d260001","l05"};
//指定调用方法返回值的数据类型的class对象 此处返回String类型
Class[] classes = new Class[]{String.class};
//指定要调用的方法及WSDL文件的命名空间 这个地方是设置wsdl的命名空间和调用的方法名字
QName opAddEntry = new QName("http://webservice.test.com", "deduct");
//调用方法并输出该方法的返回值 使用String接收返回值
String serverReturn = (String) serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0];
System.out.println(serverReturn);
//指定调用方法返回值的数据类型的class对象 此处返回实体(Entity)类型
Class[] classes = new Class[]{Entity.class};
//指定要调用的方法及WSDL文件的命名空间 这个地方是设置wsdl的命名空间和调用的方法名字
QName opAddEntry = new QName("http://webservice.test.com", "deduct");
//调用方法并输出该方法的返回值 使用实体(Entity)接收返回值
EntityserverReturn = (Entity) serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0];
System.out.println(serverReturn);