服务器端:
第一: 配置环境
创建一个Web Project,将XFire自己的包及其XFire依赖的jar包(6个jar包)全部导入到classpath下,方法是,只需将jar包粘贴在WebRoot->WEB-INF->lib下即可。
第二: 创建一个interface和interface的实现类。使用 Web 服务接口和 Web 服务实现类来完成 POJO 的 Web 服务发布
第三: 修改web.xml文件,将XFireServlet整合到Tomcat服务器中
在<web-app>中加入一下xml,这样就是说来自/servlet/XFireServlet/*和/services/*的所有的请求都交由org.codehaus.xfire.transport.http.XFireConfigurableServlet来截获,并且通过XFire自己的机制来处理[xhtml] view plaincopy
- <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>/servlet/XFireServlet/*</url-pattern>
- 10. </servlet-mapping>
- 11. <servlet-mapping>
- 12. <servlet-name>XFireServlet</servlet-name>
- 13. <url-pattern>/services/*</url-pattern>
- 14. </servlet-mapping>
第四:向外界暴露服务
在src目录下建立一个文件夹叫做META-INF,再在其下建立一个xfire文件夹,在xfire文件夹中创建一个services.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<!-- 向外界暴露的服务的名字 -->
<name> IWsService</name>
<!-- 接口类 -->
<serviceClass> IWsService</serviceClass>
<!-- 接口实现类 -->
<implementationClass> WsServiceImpl</implementationClass>
</service></beans>
客户端开发:通过服务端提供的接口类进行调用
第一:将XFire自己的包及其XFire依赖的jar包(6个jar包)全部导入到classpath下
第二:开发客户端
// 参数声明
private static Service service = null;
private static XFireProxyFactory factory = null;
private static IWsService iws = null;
private static String url = "http://192.168.5.163:8081/fmws/services/WsService";
// 根据与服务器端相同的接口创建service
service = new ObjectServiceFactory().create(IWsService.class);
// 用代理工厂创建接口类型的对象
factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
//远程调用代理service
iws = (IWsService)factory.create(service, url);