RPC方式调用WebService

//使用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);


猜你喜欢

转载自blog.csdn.net/lhl960627442/article/details/14517581