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的集成,四、软件和数据重用。


 

posted @ 2012-09-30 22:52  转航  阅读(235)  评论(0编辑  收藏  举报