WebService 基于Axis1.4框架(三)
通过前两篇,webservice接口已经完全发布成功了,实现也已经完成。那使用webservice的那端如何调用webservice呢?有两种方式,一种是直接通过url进行调用,这样是不需要引入任何jar包的,直接通过代码就可以访问到webservice。还有一种就是通过引入客户端的jar包来访问webservice。这种形式,访问webservice和调用普通的类基本没有差别,客户端jar包已经将访问webservice的代码给封装起来了,所以,我们直接调用就好了。在实际的项目中,这两种方式都有所应用。那我们先看看第一种方式是如何实现的。
String wsdlUrl = "http://10.31.1.139:18610/dm/services/EastBusinessService?wsdl"; Service service = new Service(); //创建一个Service实例,注意是必须的! Call call; try { call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(wsdlUrl)); call.setOperationName("sayHello"); //要调用的方法名 String res; res = (String) call.invoke(new Object[]{“nihao”});//传入的参数 System.out.println("return value is " + res ); //打印输出结果 } catch (ServiceException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); }
第二种方式客户端实现
EastBusinessService userlo=new EastBusinessServiceLocator(); IEastBusinessService user; try { user = userlo.getEastBusinessService(); System.out.println(user.sayHello(“nihao”)); } catch (ServiceException e1) { e1.printStackTrace(); }catch (RemoteException e) { e.printStackTrace(); }
到这里,webservice接口已经全部实现完成了。由刚开始的服务端部署,到后来的客户端实现。Webservice的主要目标是跨平台的可互操作性。在以下三种情况下,使用webservice能给我们带来极大的好处。一、跨防火墙的通信,二、应用程序集成,三、B2B的集成,四、软件和数据重用。