zoukankan      html  css  js  c++  java
  • Spring与CXF整合

      1.首先引入CXF相关jar包以及spring相关jar包,因项目是maven项目,所以直接在pom.xml文件中引入以下依赖即可(以下只是CXF的依赖包,Spring的也要引入,相关的依赖参考我博客中maven项目文章)。

      <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>3.0.9</version>
      </dependency>

      2.在web.xml配置cxf监听器

      <servlet>
        <servlet-name>cxf</servlet-name>
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
        <load-on-startup>0</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>cxf</servlet-name>
        <url-pattern>/ws/*</url-pattern>
      </servlet-mapping>

      说明:<servlet-mapping>下的<url-pattern>指明了服务访问地址的形式,“/*”代表URL地址中,包名称后直接跟服务endpoint地址,若指明<url-pattern>为/ws/*,则URL为“包名/ws/endpoint?wsdl”,endpoint地址在spring.xml文件中配置,下面会介绍。
      <!-- spring监听器 -->
      <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      <!-- spring配置文件位置 -->
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring.xml</param-value>
      </context-param>

      3.编写相关业务接口以及实现类。

      接口代码:  

      @WebService(serviceName="LanguageManager")
      public interface LanguageService {

        public @WebResult(name="language")String getLanguage(@WebParam(name="position")int position);
      }

      实现类代码: 

      public class LanguageServiceImpl implements LanguageService {

        public String getLanguage(int position) {

          return "java";
        }

      }

      4.配置spring配置文件。(引入cxf约束: http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd)  

      <bean id="languageServiceImpl" class="it.cn.ws.cxf.LanguageServiceImpl"></bean> (服务实现类)
      <!-- 配置CXF -->
        <jaxws:server address="/languageService" serviceClass="it.cn.ws.cxf.LanguageService">  (服务接口)
        <jaxws:serviceBean>
          <ref bean="languageServiceImpl"></ref> (服务实现类)
        </jaxws:serviceBean>
      </jaxws:server>

      说明:address是它的访问路径,就是上面提到的将要在URL中显示的endpoint的名称,所以服务本地访问地址就是http://localhost:8080/项目名/ws/languageService.

      5.测试Webservice 

      浏览器输入http://localhost:8080/cxf/ws/ ,可以列出项目中所有服务的地址,如下:(cxf是我的项目名称)

      

      6。也可以使用soupui工具生成本地代理进行测试。

      

      

  • 相关阅读:
    C/C++动态链接
    通用makefile及解析(转)
    C指针
    C位处理
    C++重载操作符与转换
    吧唧下工作的事情 记用canvas封装的小小控件
    吧唧下工作的事情 平衡图控件
    银行卡验证正则
    element eltable和elpopover 最后一行的 elpopover 有时候点不开的问题
    'CONVERSION_EXIT_CUNIT_OUTPUT'(物料单位转换) SAP
  • 原文地址:https://www.cnblogs.com/gdpuzxs/p/5642053.html
Copyright © 2011-2022 走看看