SSH项目整合CXF提供Webservice接口

SSH项目整合CXF提供Webservice接口

说明:SSH项目中的Spring版本为4.1.5,CXF版本为3.0.9。(如果CXF为3.1以上版本则会报错不兼容)

  1. 下载CXF需要的相关jar包
  1. 下载地址:http://cxf.apache.org/download.html ,找到以前的版本,这里下载的是3.0.9版本,

  1. 下载完成后解压,取出整合所需要的jar包,如下图

  1. 移除项目中原有的多余Spring的jar包,不然会导致jar包冲突报错,因为项目中的jar包存在多余,Spring版本为4.1.5,移除低版本jar包,如下图(如果没有冲突jar包直接忽略本步骤)

  1. 将步骤2)中CXF需要的jar包拷贝到WEB-INF/lib目录中,重新编译工程,
  2. 修改web.xml配置文件,加入CXFServlet

 

    <servlet>

       <servlet-name>cxfServlet</servlet-name>

       <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>

    </servlet>

    <servlet-mapping>

       <servlet-name>cxfServlet</servlet-name>

       <url-pattern>/ewebservice/*</url-pattern>

</servlet-mapping>

  1. 新增LetCxfGoFilter过滤器为CXF放行

public class LetCxfGoFilter extends StrutsPrepareAndExecuteFilter {

       @Override

       public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {

              HttpServletRequest request = (HttpServletRequest) arg0;

              //如果路径包含cxf则放行,路径自己选择填写。

              if(request.getRequestURI().contains("webservice")){

                    

                     arg2.doFilter(arg0, arg1);  

              }

              else{super.doFilter(arg0,arg1, arg2);

                    

       }

       }

}

 

修改web.xml文件,将过滤器配置为新增的LetCxfGoFilter

<filter>

    <filter-name>struts2</filter-name>

    <filter-class>

      com.shiyou.utils.LetCxfGoFilter

  </filter-class>

  </filter>

  1. 修改applicationContext.xml文件,加入CXF相关引用

  1. 创建webservice服务端
  1. 新建接口ILoginService

@WebService

public interface ILoginService {

 

       String login(@WebParam(name = "username") String username,@WebParam(name = "password") String password);

 

}

  1. 实现类LoginService

@WebService(endpointInterface = "com.shiyou.cxf.service.ILoginService",serviceName = "userLogin")

public class LoginService implements ILoginService {

 

       @Override

 

       public String login(String username, String password) {

 

              LoginHelper loginHelper = new LoginHelper();

 

              CommandBean commandBean = loginHelper.onLogin(username, password);

 

              String jsonStr = JsonOperator.toJson(commandBean);

             

              return jsonStr;

 

       }

 

 }

 

  1. 配置webservice接口

 

  1. 启动工程,在浏览器中输入路径:

http://192.168.5.46:8081/xxxx/ewebservice/userLogin?wsdl,出行如下信息则表示webservice发布成功

 

 

 

其中namespace跟路径在客户端访问的时候将会用到

 

 

 

 

 

   

 

 

             

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值