手机版
你好,游客 登录 注册
背景:
阅读新闻

CXF+Spring开发环境搭建小试

[日期:2012-07-07] 来源:Linux社区  作者:tyuttjx [字体: ]
接口类创建
在项目的 src 目录中新建一个 ws.cxf 包,并在里面创建接口类 ISurveyService.Java,为了简单示示例起见,我们仅创建一个方法 public String vote(String username,int point); 这里要注意的是我们在接口上用 @WebService 注解标明这是一个即将暴露为 Web Service 的接口,并将里面的方法都暴露出去。完整的接口代码清单如下:
Java代码  收藏代码
  1. package ws.cxf;  
  2.   
  3. import javax.jws.WebService;  
  4.   
  5. @WebService  
  6. public interface ISurveyService  
  7. {  
  8.     /** 
  9.      * @param username 名字 
  10.      * @param point 分数 
  11.      * @return 
  12.      */  
  13.     public String vote(String username,int point);  
  14. }  

接下来,我们根据接口的定义,来实现它。

具体类实现
针对接口的定义,我们创建一个相应的实现类,并将其定义在 sw.cxf.impl 包中,完整的代码清单如下:
Java代码  收藏代码
  1. package ws.cxf.impl;  
  2.   
  3. import javax.jws.WebService;  
  4. import ws.cxf.ISurveyService;  
  5.   
  6. @WebService  
  7. public class SurveyService implements ISurveyService  
  8. {  
  9.     private String excludeName = "Michael";  
  10.     private int leastPonit = 5;  
  11.   
  12.     public String vote(String username,int point)  
  13.     {  
  14.         String result = "";  
  15.         if(excludeName.equals(username))  
  16.         {  
  17.             result = " 您不能重复进行投票!";  
  18.         }  
  19.         else  
  20.         {  
  21.             result = " 谢谢您的投票!";  
  22.             if(point < leastPonit)  
  23.             {  
  24.                 result += " 您的投票分数太低!";  
  25.             }  
  26.             else  
  27.             {  
  28.                 result += " 您的投票分数通过审核!";  
  29.             }  
  30.         }  
  31.         return result;  
  32.     }  
  33.   
  34.     // For IoC  
  35.     public String getExcludeName()  
  36.     {  
  37.         return excludeName;  
  38.     }  
  39.   
  40.     public void setExcludeName(String excludeName)  
  41.     {  
  42.         this.excludeName = excludeName;  
  43.     }  
  44.   
  45.     public int getLeastPonit()  
  46.     {  
  47.         return leastPonit;  
  48.     }  
  49.   
  50.     public void setLeastPonit(int leastPonit)  
  51.     {  
  52.         this.leastPonit = leastPonit;  
  53.     }  
  54. }  


接口定义与具体的实现就这样简单完成了,接下来就是相关的配置工作了,首先进行 Spring 的 Bean 配置。


Spring 配置
在 src 目录中创建 beanRefServer.xml 文件,用来定义 Spring 的 Bean 的配置,CXF 支持 Spring 2.0 Schema 标签配置方式,并且提供快捷暴露 Web Services 的标签。

首先,我们需要引入 Spring 与 CXF 的命名空间(namespace),如下:
Java代码  收藏代码
  1. <beans xmlns="http://www.springframework.org/schema/beans"   
  2.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  3.     xmlns:jaxws="http://cxf.apache.org/jaxws"  
  4.     xsi:schemaLocation="  
  5.         http://www.springframework.org/schema/beans   
  6.         http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  7.         http://cxf.apache.org/jaxws   
  8.         http://cxf.apache.org/schemas/jaxws.xsd">  


这样,我们可以使用 Spring 与 CXF 的标签配置了。接着,我们需要引入我们所需要的 CXF 的 Bean 定义文件,如下:


  
Java代码  收藏代码
  1. <!-- Import Apache CXF Bean Definition -->  
  2.    <import resource="classpath:META-INF/cxf/cxf.xml"/>  
  3.    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>  
  4.    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>  
linux
相关资讯       Spring  CXF 
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 00 发表于 2013/9/30 10:01:26
00