您的位置:首页 > 服装鞋帽 > 男装 > 在web项目中集成xfire的方法

在web项目中集成xfire的方法

luyued 发布于 2011-01-06 18:06   浏览 N 次  
先注意以下内容:
1. xfire官网上下载的例子,基本上不能用,因为xfire1.2.6默认使用的是spring1.x的,到了2.x,找不到org.springframework.web.servlet这个包了。

2. 网上教的方法,大多都是照例子,很容易出错。

ok,下面进入正题,记录一下xfire的使用方法。

从网站上下载到xfire发行版,约18M,建议使用发行版,里面包含了一些例子,更重要的是依赖包都放在lib目录下了,使得项目开发更方便。

myeclipse下,新建一个web项目(没有用web service project的方式,不太会用)。
导入以下依赖包:
650) this.width=650;" border=0>

除了spring.jar之外,都在xfire-1.2.6/lib目录下。

由于使用spring,因此在web.xml中添加以下内容




contextConfigLocation
classpath:org/codehaus/xfire/spring/xfire.xml, classpath:applicationContext.xml



org.springframework.web.context.ContextLoaderListener






xfireServlet
org.codehaus.xfire.spring.XFireSpringServlet


xfireServlet

/service/*



先导入spring配置文件的路径,要注意的是,这里使用了xfire提供的配置文件,位于:org.codehaus.xfire.spring.xfire.xml。
然后就是spring的配置文件了,applicationContext.xml。

applicationContext.xml的配置很简洁。













这个配置文件,细节方面还不是很了解,有待于深入下源码。

ok,还差业务代码。

IHelloService.java
public interface IHelloService {
public String sayHello(String hello);
}

实现类:
HelloServiceImpl.java
public class HelloServiceImpl implements IHelloService {
public String sayHello(String hello) {
System.out.println("接收客户端请求:" + hello);
return "Hello XFire, " + hello;
}
}

到这里,全部的代码就写完了。
结构如下:
650) this.width=650;" border=0>

启动tomcat服务器,访问:http://localhost:8080/xfire/service/?wsdl,正确的话,可以访问到wsdl。
650) this.width=650;" border=0>

使用Spring测试:
test.xml为配置文件:








测试代码:

public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("test.xml");
IHelloService hs = (IHelloService) ctx.getBean("testWebService");
System.out.println("服务器响应:" + hs.sayHello("hello, webservice"));
}

搞定。
广告赞助商