首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

xfire新手下路

2012-10-09 
xfire新手上路环境:JDK1.5,tomcat5.5,myeclipse7.51.先创建一个web project工程xfire_project,把下载的xfi

xfire新手上路
环境:JDK1.5,tomcat5.5,myeclipse7.5

1.先创建一个web project工程xfire_project,把下载的xfire相产的jar包导入工作,也可以选择myeclipse自带的xfire core library.

2.新建接口类HelloWorld.java

package com.webservice;public interface HelloWorld {public String sayHello(String name);}


对应的实现类
package com.webservice;public class HelloWorldImpl implements HelloWorld {@Overridepublic String sayHello(String name) {return "Hello, "+(name==null?"":name.trim());}}


3.在WebRoot/META-INF下新建一个xfire配置文件services.xml,配置如下:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://xfire.codehaus.org/config/1.0"><service><name>HelloWorld</name><namespace>helloworld</namespace><serviceClass>com.webservice.HelloWorld</serviceClass><implementationClass>com.webservice.HelloWorldImpl</implementationClass></service></beans>


4.web应用配置
<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>


5.把xfire_project打成war包发布到tomcat并启动服务器,到此为止,webservice发布成功,下面编写客户端程序测试发布的服务:
import java.net.MalformedURLException;import org.codehaus.xfire.XFire;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import com.webservice.HelloWorld;public class HelloWorldClient {/** * @param args */public static void main(String[] args) throws Exception{// TODO Auto-generated method stubService serviceModel = new ObjectServiceFactory().create(HelloWorld.class);XFire xfire = XFireFactory.newInstance().getXFire();        XFireProxyFactory factory = new XFireProxyFactory(xfire);                  String serviceUrl = "http://localhost:8080/XFire/services/HelloWorld";                HelloWorld client = (HelloWorld) factory.create(serviceModel, serviceUrl);        System.out.println(client.sayHello("Jack"));}}


运行HelloWroldClient,正常输出 "Hello, Jack".

热点排行