您的位置:首页 > 其它

RPC方式调用WebService

2013-11-08 10:07 218 查看
//使用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)接收返回值

EntityserverRetu
4000
rn = (Entity) serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0];

System.out.println(serverReturn);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  RPC WebService wsdl