使用XFire开发及调用WebService的步骤:
一、服务提供者的开发工作:
1、准备工作:
?到XFire网站(http://xfire.codehaus.org/Download)下载最新的
?XFire发布版本,比如现在最新的版本是:xfire-distribution-1.2.6.zip。
?将该压缩包解压,并将其lib目录下的所有jar包以及xfire-all-1.2.6.jar
?导入到工程中。
2、开发服务接口及实现类:
?开发一个接口类,声明业务方法;
?开发一个实现类,完成业务方法的具体实现;
3、在服务器中配置XFire支持:
?XFire本身是基于Servlet的程序,为了确保客户端能够访问到Web服务,需要
?在应用中对其进行配置。在web.xml中进行如下配置:
?<servlet>
??<servlet-name>xfireServlet</servlet-name>
??<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
?</servlet>
?
?<servlet-mapping>
??<servlet-name>xfireServlet</servlet-name>
??<url-pattern>/services/*</url-pattern>
?</servlet-mapping>
4、声明及发布服务:
?在src目录下创建META-INF文件夹,并在该文件夹下创建xfire文件夹,
?在其下创建services.xml文件,在该文件中声明提供的服务,每一个服务
?对应文件中的一个<service>元素:
?<service>
??<name>服务名</name>
??<namespace>www.jbaptech.com.cn/AddBook</namespace>//这里指定服务的名称空间
??<serviceClass>服务接口类的完整路径</serviceClass>
??<implementationClass>服务实现类的完整路径</implementationClass>
?</service>
5、测试服务是否发布成功:
?将应用部署到服务器上,启动服务器,打开浏览器,输入以下地址:
?http://服务器地址:端口号/Web应用名/services/服务名?wsdl?
?如果在浏览器中可以看到该服务发布后的WSDL文档(XML文档),就表示webservice服务成功。
二、客户端调用WebService步骤:1、创建服务模型(使用服务接口:定义了服务的规范);?Service service = new ObjectServiceFactory().create(服务接口名.class);2、创建XFire的支持对象:?XFire xfire = XFireFactory.newInstance().getXFire();3、通过xfire的支持对象,创建生产服务代理对象的工厂?(可以根据服务模型和服务地址生产各种类型的服务代理对象):?XFireProxyFactory factory = new XFireProxyFactory(xfire);4、获得服务的地址(可以在服务发布的WSDL文档中找到):?String serviceUrl = "http://服务器地址:端口号/Web应用名/services/服务名";5、通过该工厂获得一个服务代理对象:?服务接口 client = (服务接口) factory.create(service,serviceUrl);6、通过服务代理对象调用服务方法