![[xfire]使用xfire开发webservice的简单示例 [xfire]使用xfire开发webservice的简单示例](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
目前项目上有用到xfire,所以临时看了些xfire的资料和示例,自己照着写了一个简单示例。
xfire在2007年后已经停止更新,正式更名为apache cxf,也可以说是xfire2.0。
xfire最后的版本是xfire1.2.6
1.新建一个dynamic project
2.lib中加入xfire依赖的jar,这个可以从xfire-distribution-1.2.6找到
3.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>xfireDemo</display-name> <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>
</servlet-mapping> <servlet-mapping>
<servlet-name>xfireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
4.编写service对象
package com.jerry.ws;
/**
*
* @author Jerry
*
* 2014年6月10日 下午11:03:16
*/
public interface HelloService {
void sayHello(String name);
}
package com.jerry.ws;
/**
*
* @author Jerry
*
* 2014年6月11日 上午12:16:21
*/
public class HelloServiceImpl implements HelloService { @Override
public void sayHello(String name) {
// TODO Auto-generated method stub
System.out.println("hello, " + name + "! ");
} }
5.在META-INF下先新建一个xfire文件夹,在新建一个services.xml,然后编辑services.xml
<?xml version="1.0" encoding="utf-8" ?>
<beans>
<service xmlns="http://xfire.codehaus.org/config/1.0">
<name>HelloService</name>
<namespace>http://ws.jerry.com/services/HelloService</namespace>
<serviceClass>com.jerry.ws.HelloService</serviceClass>
<implementationClass>com.jerry.ws.HelloServiceImpl</implementationClass>
</service>
</beans>
6.因为xfire会在classPath下去找META-INF/xfire/services.xml,所以Eclipse 发布需要做如下配置
7.最后配置tomcat,启动项目,访问 http://localhost:8080/xfireDemo/services,就可以看到所发布的服务了