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的集成,四、软件和数据重用。
浙公网安备 33010602011771号