ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 项目引入XFire1.2.6 来实现webservice的基本功能

项目引入XFire1.2.6 来实现webservice的基本功能

原创 Linux操作系统 作者:xz43 时间:2011-07-14 15:57:01 0 删除 编辑
项目中原就已有Axis框架,后便于和第三方提供的web service接口进行对接,引入了他们推荐的XFire框架,整了老半天才搞好,记录一下。
 
刚开始就是一个个jar包去网上找,不停的尝试启动应用,不停的报错,然后再根据错误,去找原因,再去找其他jar包,发现,这种效率实在太低。删除原有的jar,直接下载xfire-distribution-1.2.6.zip,把里面的lib目录下的jar,全部拷到项目下,终于可以成功发布helloworld实例了。为了尽量减少项目中无用的jar包,后来一个个jar删除,启动,看效果,采用这种笨拙的方式,发现就这五个必须都有,否则就会报错了。
commons-httpclient-3.0.jar
jdom-1.0.jar
jsr173_api-1.0.jar
wstx-asl-3.2.0.jar
xfire-all-1.2.6.jar
其中第一个“commons-httpclient-3.0.jar”在HelloWorld中是不需要的,但真正使用xfire调用第三方接口,就需要这个jar。没有“wstx-asl-3.2.0.jar”这个jar,启动不报错,但打开连接“http://localhost:8083/services/HelloWorld?wsdl” 就会报错。
 
其他地方配置很简单。
首先web.xml中,在

  contextConfigLocation
  
     。。。
     /WEB-INF/classes/xfire-servlet.xml
  
 
  。。。
 
    XFireServlet
    
      org.codehaus.xfire.spring.XFireSpringServlet
    

  
  。。。
 
    XFireServlet
    /servlet/XFireServlet/*
  

  
    XFireServlet
    /services/*
  
 
其中xfire-servlet.xml 内容如下:

http://www.springframework.org/dtd/spring-beans.dtd">

 <!-- 引入XFire预配置信息 -->
 
   class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  
   
    
     
    

   

  

 
 <!-- 使用XFire导出器 -->
   class="org.codehaus.xfire.spring.remoting.XFireExporter"
  lazy-init="false" abstract="true">
  <!-- 引用xfire.xml中定义的工厂 -->
  
  <!-- 引用xfire.xml中的xfire实例 -->
  
 

 <!-- 定义HelloWorld服务 -->
 
  <!-- 业务服务bean -->
  
  <!-- 业务服务bean的窄接口类 -->
  
 

 
在spring的application.xml配置文件中,增加一个javabean定义:
 
 
HelloWorld 接口
 
package webservice;
public interface HelloWorld {
 public String sayHello(String name);
}
HelloWorldBean 实现类
 
package webservice;
public class HelloWorldBean implements HelloWorld {
 public String sayHello(String name) {  
  return "Hello"+name;
 }
}
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9399028/viewspace-702206/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
鱼儿的学习空间

注册时间:2010-11-16

  • 博文量
    424
  • 访问量
    1757541