codeHaus XFire实现WebService开发

XFire简介


        XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程,也直接降低了SOA的实现难度,为企业转向SOA架构提供了一种简单可行的方式。
       XFire在2007年后已停止更新。正式更名为Apache CXF,亦可以说是XFire2.0。XFire - XFire安装包:XFire框架目前最后的一个版本是1.2.6,在2007年5月3日发布。

【转载使用,请注明出处:http://blog.csdn.net/mahoking


XFire使用介绍

1、下载需要的XFile包
下载地址:
http://xfire.codehaus.org/Download,下载xfire-distribution-1.2.6.zip文件,并解压。新建web项目,命名为TestXFire,将解压目录下的xfire-all-1.2.6.jar和lib目录下的所有包导入到项目中。
2、创建接口类
使用接口的设计是一个好的实践,所以先创建接口:ITestService,代码如下:

public interface ITestService {
	public int add(int p1,int p2);
}

创建接口实现类。

public class TestService implements ITestService {

	@Override
	public int add(int p1, int p2) {
		return p1+p2;
	}
}

3、创建META-INF文件夹

简便起见,将WebRoot下的META-INF文件夹复制到项目的src下,这样的话会在部署发布目录下web-inf下的classes下自动建立META-INF,而同时WebRoot下也有一个META-INF文件夹,这两个容易混淆,实际webservice下真正起作用的是web-inf下的classes下的web-inf下的META-INF,所以,关键是在项目的src下面有META-INF这个文件夹,并定义里面的内容,与WebRoot下META-INF无关。
然后在src下的META-INF建立xfire子文件夹,里面建立一名叫services.xml配置文件,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<service>
		<name>TestService</name>
		<namespace>http://com/mahaochen/web/xfire/ITestService</namespace>
		<serviceClass>com.mahaochen.web.xfire.ITestService</serviceClass>
	<implementationClass>com.mahaochen.web.xfire.impl.TestService</implementationClass>
	</service>
</beans>

4、修改web.xml配置文件关键是定义XFireServlet,对应代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name>	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <!--Start XFire 在web.xml中配置 -->
  <servlet>
  	<servlet-name>XFireServlet</servlet-name>
  	<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
  	<load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
  	<servlet-name>XFireServlet</servlet-name>
  	<url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
  	<servlet-name>XFireServlet</servlet-name>
  	<url-pattern>/servlet/XFireServlet/*</url-pattern>
  </servlet-mapping>
  <!--End XFire 在web.xml中配置 -->
</web-app>

至此,服务器端部署完毕。完整的项目文件结构如图:
 
5、将项目加载进tomcat并启动tomcat,无异常。 打开ie,输入
http://localhost:8080/TestXFire/services/

 

【转载使用,请注明出处:http://blog.csdn.net/mahoking

你可能感兴趣的:(webservice,开源框架,xfire,web服务)