zoukankan      html  css  js  c++  java
  • maven+ssm+cxf3配置例子

    以下只是简单记录 ssm结合cxf3的配置

    提供方配置:::

    pom.xml

      1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      3     <modelVersion>4.0.0</modelVersion>
      4     <groupId>com.test.soaservice</groupId>
      5     <artifactId>soaservice</artifactId>
      6     <packaging>war</packaging>
      7     <version>0.0.1</version>
      8     <name>soaservice Maven Webapp</name>
      9     <url>http://maven.apache.org</url>
     10     <properties>
     11         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     12         <!-- spring版本号 -->
     13         <spring.version>4.2.0.RELEASE</spring.version>
     14         <!-- mybatis版本号 -->
     15         <mybatis.version>3.4.1</mybatis.version>
     16         <!-- log4j日志文件管理包版本 -->
     17         <slf4j.version>1.7.7</slf4j.version>
     18         <log4j.version>1.2.17</log4j.version>
     19         <cxf.version>3.1.9</cxf.version>
     20     </properties>
     21     <dependencies>
     22         <dependency>
     23             <groupId>junit</groupId>
     24             <artifactId>junit</artifactId>
     25             <version>3.8.1</version>
     26             <scope>test</scope>
     27         </dependency>
     28 
     29         <!-- springframework包 -->
     30 
     31 
     32         <!-- SpringMVC 应用 spring-webmvc spring-context -->
     33         <dependency>
     34             <groupId>org.springframework</groupId>
     35             <artifactId>spring-context</artifactId>
     36             <version>${spring.version}</version>
     37         </dependency>
     38         <dependency>
     39             <groupId>org.springframework</groupId>
     40             <artifactId>spring-core</artifactId>
     41             <version>${spring.version}</version>
     42         </dependency>
     43         <dependency>
     44             <groupId>org.springframework</groupId>
     45             <artifactId>spring-aspects</artifactId>
     46             <version>${spring.version}</version>
     47         </dependency>
     48         <dependency>
     49             <groupId>org.springframework</groupId>
     50             <artifactId>spring-expression</artifactId>
     51             <version>${spring.version}</version>
     52         </dependency>
     53         <dependency>
     54             <groupId>org.springframework</groupId>
     55             <artifactId>spring-beans</artifactId>
     56             <version>${spring.version}</version>
     57         </dependency>
     58 
     59         <dependency>
     60             <groupId>org.springframework</groupId>
     61             <artifactId>spring-tx</artifactId>
     62             <version>${spring.version}</version>
     63         </dependency>
     64 
     65         <dependency>
     66             <groupId>org.springframework</groupId>
     67             <artifactId>spring-jdbc</artifactId>
     68             <version>${spring.version}</version>
     69         </dependency>
     70         <dependency>
     71             <groupId>org.springframework</groupId>
     72             <artifactId>spring-aop</artifactId>
     73             <version>${spring.version}</version>
     74         </dependency>
     75         <dependency>
     76             <groupId>org.springframework</groupId>
     77             <artifactId>spring-test</artifactId>
     78             <version>${spring.version}</version>
     79         </dependency>
     80         <dependency>
     81             <groupId>org.springframework</groupId>
     82             <artifactId>spring-web</artifactId>
     83             <version>${spring.version}</version>
     84         </dependency>
     85         <dependency>
     86             <groupId>org.springframework</groupId>
     87             <artifactId>spring-webmvc</artifactId>
     88             <version>${spring.version}</version>
     89         </dependency>
     90         <!-- mybatis核心包 -->
     91         <dependency>
     92             <groupId>org.mybatis</groupId>
     93             <artifactId>mybatis</artifactId>
     94             <version>${mybatis.version}</version>
     95         </dependency>
     96         <!-- mybatis/spring包 -->
     97         <dependency>
     98             <groupId>org.mybatis</groupId>
     99             <artifactId>mybatis-spring</artifactId>
    100             <version>1.3.0</version>
    101         </dependency>
    102         <!-- mybatis/mybatis-plus -->
    103         <dependency>
    104             <groupId>com.baomidou</groupId>
    105             <artifactId>mybatis-plus</artifactId>
    106             <version>1.5</version>
    107         </dependency>
    108         <dependency>
    109             <groupId>mysql</groupId>
    110             <artifactId>mysql-connector-java</artifactId>
    111             <version>5.1.39</version>
    112         </dependency>
    113         <!-- JSTL标签类 -->
    114         <dependency>
    115             <groupId>jstl</groupId>
    116             <artifactId>jstl</artifactId>
    117             <version>1.2</version>
    118         </dependency>
    119         <!-- 日志文件管理包 -->
    120         <!-- log start -->
    121         <dependency>
    122             <groupId>log4j</groupId>
    123             <artifactId>log4j</artifactId>
    124             <version>${log4j.version}</version>
    125         </dependency>
    126         <!-- 格式化对象,方便输出日志 -->
    127         <dependency>
    128             <groupId>com.alibaba</groupId>
    129             <artifactId>fastjson</artifactId>
    130             <version>1.2.16</version>
    131         </dependency>
    132 
    133 
    134         <dependency>
    135             <groupId>org.slf4j</groupId>
    136             <artifactId>slf4j-api</artifactId>
    137             <version>${slf4j.version}</version>
    138         </dependency>
    139 
    140         <dependency>
    141             <groupId>org.slf4j</groupId>
    142             <artifactId>slf4j-log4j12</artifactId>
    143             <version>${slf4j.version}</version>
    144         </dependency>
    145 
    146         <dependency>
    147             <groupId>javax.servlet</groupId>
    148             <artifactId>servlet-api</artifactId>
    149             <version>2.5</version>
    150         </dependency>
    151         <!-- 配置数据源,使用的是alibaba的Druid(德鲁伊)数据源 -->
    152         <dependency>
    153             <groupId>com.alibaba</groupId>
    154             <artifactId>druid</artifactId>
    155             <version>1.0.27</version>
    156         </dependency>
    157 
    158         <dependency>
    159             <groupId>org.ow2.asm</groupId>
    160             <artifactId>asm</artifactId>
    161             <version>5.1</version>
    162         </dependency>
    163         <dependency>
    164             <groupId>cglib</groupId>
    165             <artifactId>cglib</artifactId>
    166             <version>3.2.4</version>
    167         </dependency>
    168         <dependency>
    169             <groupId>org.aopalliance</groupId>
    170             <artifactId>com.springsource.org.aopalliance</artifactId>
    171             <version>1.0.0</version>
    172             <classifier>sources</classifier>
    173         </dependency>
    174         <dependency>
    175             <groupId>org.apache.commons</groupId>
    176             <artifactId>com.springsource.org.apache.commons.logging</artifactId>
    177             <version>1.1.1</version>
    178         </dependency>
    179         <dependency>
    180             <groupId>org.aspectj</groupId>
    181             <artifactId>com.springsource.org.aspectj.weaver</artifactId>
    182             <version>1.6.8.RELEASE</version>
    183         </dependency>
    184         <dependency>
    185             <groupId>net.sf.ehcache</groupId>
    186             <artifactId>ehcache</artifactId>
    187             <version>2.10.3</version>
    188         </dependency>
    189         <dependency>
    190             <groupId>org.mybatis.caches</groupId>
    191             <artifactId>mybatis-ehcache</artifactId>
    192             <version>1.1.0</version>
    193         </dependency>
    194         
    195         <!-- cxf的jar包 -->
    196         <dependency>
    197             <groupId>org.apache.cxf</groupId>
    198             <artifactId>cxf-rt-frontend-jaxws</artifactId>
    199             <version>${cxf.version}</version>
    200         </dependency>
    201         <dependency>
    202             <groupId>org.apache.cxf</groupId>
    203             <artifactId>cxf-rt-transports-http</artifactId>
    204             <version>${cxf.version}</version>
    205         </dependency>
    206 
    207     </dependencies>
    208 
    209     <build>
    210         <finalName>soaservice</finalName>
    211         <resources>
    212             <resource>
    213                 <directory>src/main/java</directory>
    214                 <includes>
    215                     <include>**/*.xml</include>
    216                 </includes>
    217                 <filtering>false</filtering>
    218             </resource>
    219             <resource>
    220                 <directory>src/main/resources</directory>
    221                 <includes>
    222                     <include>**/*.xml</include>
    223                     <include>**/*.properties</include>
    224                 </includes>
    225                 <filtering>false</filtering>
    226             </resource>
    227         </resources>
    228     </build>
    229 </project>

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     4     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     5     id="WebApp_ID" version="3.1">
     6 
     7     <context-param>
     8         <param-name>contextConfigLocation</param-name>
     9         <param-value>classpath:spring-mybatis.xml,classpath:spring-cxf-config.xml</param-value>
    10     </context-param>
    11     <listener>
    12         <description>spring监听器</description>
    13         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    14     </listener>
    15     <filter>
    16         <filter-name>characterEncodingFilter</filter-name>
    17         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    18         <init-param>
    19             <param-name>encoding</param-name>
    20             <param-value>UTF-8</param-value>
    21         </init-param>
    22         <init-param>
    23             <param-name>forceEncoding</param-name>
    24             <param-value>true</param-value>
    25         </init-param>
    26     </filter>
    27     <!-- CXF配置 -->
    28     <servlet>
    29         <description>CXF Endpoint</description>
    30         <display-name>cxf</display-name>
    31         <servlet-name>cxf</servlet-name>
    32         <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    33         <load-on-startup>2</load-on-startup>
    34     </servlet>
    35     <servlet-mapping>
    36         <servlet-name>cxf</servlet-name>
    37         <url-pattern>/webservice/*</url-pattern>
    38     </servlet-mapping>
    39     <display-name>Archetype Created Web Application</display-name>
    40 </web-app>

    spring-cxf-config.xml

     1 <?xml version="1.0" encoding="UTF-8"?> 
     2 <beans xmlns="http://www.springframework.org/schema/beans"    
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
     4     xmlns:jaxws="http://cxf.apache.org/jaxws"    
     5     xsi:schemaLocation=" http://www.springframework.org/schema/beans    
     6     http://www.springframework.org/schema/beans/spring-beans.xsd    
     7     http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">   
     8     
     9  <jaxws:endpoint id="iTestService" implementor="com.soa.service.impl.TestServiceImpl"
    10   address="/testServiceImpl"/>
    11 </beans>

    spring-mybatis.xml

      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <beans
      3     xmlns="http://www.springframework.org/schema/beans"
      4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      5     xmlns:p="http://www.springframework.org/schema/p"
      6     xmlns:context="http://www.springframework.org/schema/context"
      7     xmlns:aop="http://www.springframework.org/schema/aop"
      8     xmlns:tx="http://www.springframework.org/schema/tx"  
      9     xsi:schemaLocation="
     10     http://www.springframework.org/schema/tx
     11     http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
     12     http://www.springframework.org/schema/aop   
     13     http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
     14     http://www.springframework.org/schema/context  
     15     http://www.springframework.org/schema/context/spring-context-4.2.xsd  
     16     http://www.springframework.org/schema/beans 
     17     http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
     18     
     19         <context:annotation-config />
     20     <!-- 自动扫描(service),(dao) -->
     21     <context:component-scan base-package="com.soa.mapper,com.soa.service">
     22         <context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />
     23         <context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" />
     24     </context:component-scan>
     25     
     26     <!-- properties配置文件 -->  
     27     <bean id="dbProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
     28          <!-- 是否忽略不可解析的 -->  
     29         <property name="ignoreUnresolvablePlaceholders" value="true" />
     30          <property name="locations">  
     31             <list>  
     32                 <value>classpath:jdbc.properties</value>  
     33             </list>  
     34         </property>  
     35     </bean>
     36 
     37     
     38     <!-- ========================================配置数据源========================================= -->
     39     <!-- 配置数据源,使用的是alibaba的Druid(德鲁伊)数据源 -->
     40     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
     41         <property name="url" value="${url}" />
     42         <property name="username" value="${username}" />
     43         <property name="password" value="${password}" />
     44         <!-- 初始化连接大小 -->
     45         <property name="initialSize" value="0" />
     46         <!-- 连接池最大使用连接数量 -->
     47         <property name="maxActive" value="20" />
     48         <!-- 连接池最大空闲 -->
     49         <property name="maxIdle" value="20" />
     50         <!-- 连接池最小空闲 -->
     51         <property name="minIdle" value="0" />
     52         <!-- 获取连接最大等待时间 -->
     53         <property name="maxWait" value="60000" />
     54         <property name="validationQuery" value="${validationQuery}" />
     55         <property name="testOnBorrow" value="false" />
     56         <property name="testOnReturn" value="false" />
     57         <property name="testWhileIdle" value="true" />
     58         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
     59         <property name="timeBetweenEvictionRunsMillis" value="60000" />
     60         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
     61         <property name="minEvictableIdleTimeMillis" value="25200000" />
     62         <!-- 打开removeAbandoned功能 -->
     63         <property name="removeAbandoned" value="true" />
     64         <!-- 1800秒,也就是30分钟 -->
     65         <property name="removeAbandonedTimeout" value="1800" />
     66         <!-- 关闭abanded连接时输出错误日志 -->
     67         <property name="logAbandoned" value="true" />
     68         <!-- 监控数据库 -->
     69         <!-- <property name="filters" value="stat" /> -->
     70         <property name="filters" value="mergeStat" />
     71     </bean>
     72     
     73     <!-- ========================================针对myBatis的配置项============================== -->
     74     <!-- 配置sqlSessionFactory -->
     75     <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
     76         <!-- 实例化sqlSessionFactory时需要使用上述配置好的数据源以及SQL映射文件 -->
     77          <property name="typeAliasesPackage" value="com.soa.entity" />
     78          
     79         <property name="dataSource" ref="dataSource" />
     80            <!-- 自动扫描Mybatis的Mapper.xml文件 -->
     81            <property name="mapperLocations" value="classpath:com/soa/mapper/xml/*Mapper.xml" />
     82         <!-- <property name="mapperLocations" value="classpath:com/zk/mapping/*.xml" /> -->
     83           <!-- 插件配置项  -->
     84     <property name="plugins">
     85         <array>
     86             <!-- 分页插件配置 -->
     87             <bean id="paginationInterceptor" class="com.baomidou.mybatisplus.plugins.PaginationInterceptor">
     88                 <property name="dialectType" value="mysql" />
     89             </bean>
     90         </array>
     91     </property>
     92     </bean>
     93     
     94     <!-- 配置扫描器 -->
     95     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
     96         <!-- 扫描com.xxx.dao这个包以及它的子包下的所有映射接口类 -->
     97         <property name="basePackage" value="com.soa.mapper" />
     98         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
     99     </bean>
    100     
    101     <!-- 配置事务管理器 -->
    102     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    103         <property name="dataSource" ref="dataSource" />
    104     </bean>
    105     
    106     <!-- 拦截器方式配置事物 -->
    107     <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
    108         <tx:attributes>
    109             <tx:method name="add*" propagation="REQUIRED" />
    110             <tx:method name="append*" propagation="REQUIRED" />
    111             <tx:method name="insert*" propagation="REQUIRED" />
    112             <tx:method name="save*" propagation="REQUIRED" />
    113             <tx:method name="update*" propagation="REQUIRED" />
    114             <tx:method name="modify*" propagation="REQUIRED" />
    115             <tx:method name="edit*" propagation="REQUIRED" />
    116             <tx:method name="delete*" propagation="REQUIRED" />
    117             <tx:method name="remove*" propagation="REQUIRED" />
    118             <tx:method name="repair" propagation="REQUIRED" />
    119             <tx:method name="delAndRepair" propagation="REQUIRED" />
    120             <tx:method name="get*" propagation="SUPPORTS" />
    121             <tx:method name="find*" propagation="SUPPORTS" />
    122             <tx:method name="load*" propagation="SUPPORTS" />
    123             <tx:method name="search*" propagation="SUPPORTS" />
    124             <tx:method name="datagrid*" propagation="SUPPORTS" />
    125             <tx:method name="*" propagation="SUPPORTS" />
    126         </tx:attributes>
    127     </tx:advice>
    128     <aop:config>
    129         <aop:pointcut id="transactionPointcut" expression="execution(* com.soa.service..*Impl.*(..))" />
    130         <aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" />
    131     </aop:config>
    132     <!-- 配置druid监控spring jdbc -->
    133     <bean id="druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor"></bean>
    134     <bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype">
    135         <property name="patterns">
    136             <list>
    137                 <value>com.soa.service.*</value>
    138             </list>
    139         </property>
    140     </bean>
    141     <aop:config>
    142         <aop:advisor advice-ref="druid-stat-interceptor" pointcut-ref="druid-stat-pointcut" />
    143     </aop:config>
    144     
    145     </beans>

    ITestService.java 接口

     1 package com.soa.service;
     2 import java.util.List;
     3 import javax.jws.WebService;
     4 import javax.jws.soap.SOAPBinding;
     5 import javax.jws.soap.SOAPBinding.Style;
     6 import com.soa.entity.Test;
     7 /**
     8  *
     9  * Test 表数据服务层接口
    10  *extends ISuperService<Test>
    11  */
    12 @WebService
    13 @SOAPBinding(style = Style.RPC)
    14 public interface ITestService  {
    15      List<Test> selectAll();
    16 }

    TestServiceImpl.java 接口实现

     1 package com.soa.service.impl;
     2 import java.util.List;
     3 import javax.jws.WebService;
     4 import javax.jws.soap.SOAPBinding;
     5 import javax.jws.soap.SOAPBinding.Style;
     6 import org.springframework.beans.factory.annotation.Autowired;
     7 import com.baomidou.mybatisplus.mapper.EntityWrapper;
     8 import com.soa.entity.Test;
     9 import com.soa.mapper.TestMapper;
    10 import com.soa.service.ITestService;
    11 
    12 /**
    13  *
    14  * Test 表数据服务层接口实现类
    15  *
    16  */
    17 @SOAPBinding(style = Style.RPC)
    18 @SuppressWarnings("deprecation")
    19 @WebService(endpointInterface="com.soa.service.ITestService")//endpointInterface是为了在实现多个接口情况下指明webservice的接口  
    20 public class TestServiceImpl  implements ITestService {
    21    @Autowired
    22    private TestMapper testMapper;
    23     public List<Test> selectAll() {
    24         //使用mybatis-plus查询全部
    25         return testMapper.selectList(new EntityWrapper<Test>(null));
    26     }
    27 }

    当提供方服务配置完成后发布运行:

    Available SOAP services:http://127.0.0.1:8080/soaservice/webservice

    ITestService
    • selectAll
    Endpoint address: http://127.0.0.1:8080/soaservice/webservice/testServiceImpl
    WSDL : {http://impl.service.soa.com/}TestServiceImplService
    Target namespace: http://impl.service.soa.com/

    以下配置消费方::::::

    pom.xml

      1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      3   <modelVersion>4.0.0</modelVersion>
      4   <groupId>com.test.soaclient</groupId>
      5   <artifactId>soaclient</artifactId>
      6   <packaging>war</packaging>
      7   <version>0.0.1</version>
      8   <name>soaclient Maven Webapp</name>
      9   <url>http://maven.apache.org</url>
     10   <properties>
     11         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     12         <!-- spring版本号 -->
     13         <spring.version>4.2.0.RELEASE</spring.version>
     14         <cxf.version>3.1.9</cxf.version>
     15     </properties>
     16   <dependencies>
     17     <dependency>
     18       <groupId>junit</groupId>
     19       <artifactId>junit</artifactId>
     20       <version>3.8.1</version>
     21       <scope>test</scope>
     22     </dependency>
     23     
     24     <dependency>
     25             <groupId>org.springframework</groupId>
     26             <artifactId>spring-webmvc</artifactId>
     27             <version>${spring.version}</version>
     28         </dependency>
     29         <dependency>
     30             <groupId>org.springframework</groupId>
     31             <artifactId>spring-context</artifactId>
     32             <version>${spring.version}</version>
     33         </dependency>
     34         <!-- mybatis/mybatis-plus -->
     35         <dependency>
     36             <groupId>com.baomidou</groupId>
     37             <artifactId>mybatis-plus</artifactId>
     38             <version>1.5</version>
     39         </dependency>
     40         <!-- JSTL标签类 -->
     41         <dependency>
     42             <groupId>jstl</groupId>
     43             <artifactId>jstl</artifactId>
     44             <version>1.2</version>
     45         </dependency>
     46         <!-- 格式化对象,方便输出日志 -->
     47         <dependency>
     48             <groupId>com.alibaba</groupId>
     49             <artifactId>fastjson</artifactId>
     50             <version>1.2.16</version>
     51         </dependency>
     52 
     53         <dependency>
     54             <groupId>com.fasterxml.jackson.core</groupId>
     55             <artifactId>jackson-annotations</artifactId>
     56             <version>2.8.1</version>
     57         </dependency>
     58 
     59         <dependency>
     60             <groupId>com.fasterxml.jackson.core</groupId>
     61             <artifactId>jackson-core</artifactId>
     62             <version>2.8.1</version>
     63         </dependency>
     64         <dependency>
     65             <groupId>com.fasterxml.jackson.core</groupId>
     66             <artifactId>jackson-databind</artifactId>
     67             <version>2.8.1</version>
     68         </dependency>
     69 
     70         <dependency>
     71             <groupId>org.codehaus.jackson</groupId>
     72             <artifactId>jackson-mapper-asl</artifactId>
     73             <version>1.9.13</version>
     74         </dependency>
     75 
     76         <!-- 上传组件包 -->
     77         <dependency>
     78             <groupId>commons-fileupload</groupId>
     79             <artifactId>commons-fileupload</artifactId>
     80             <version>1.3.1</version>
     81         </dependency>
     82         <dependency>
     83             <groupId>commons-io</groupId>
     84             <artifactId>commons-io</artifactId>
     85             <version>2.4</version>
     86         </dependency>
     87         <dependency>
     88             <groupId>commons-codec</groupId>
     89             <artifactId>commons-codec</artifactId>
     90             <version>1.9</version>
     91         </dependency>
     92         <dependency>
     93             <groupId>commons-logging</groupId>
     94             <artifactId>commons-logging</artifactId>
     95             <version>1.2</version>
     96         </dependency>
     97         <dependency>
     98             <groupId>javax.servlet</groupId>
     99             <artifactId>servlet-api</artifactId>
    100             <version>2.5</version>
    101         </dependency>
    102         
    103         <!-- cxf的jar包 -->
    104         <dependency>
    105             <groupId>org.apache.cxf</groupId>
    106             <artifactId>cxf-rt-frontend-jaxws</artifactId>
    107             <version>${cxf.version}</version>
    108         </dependency>
    109         <dependency>
    110             <groupId>org.apache.cxf</groupId>
    111             <artifactId>cxf-rt-transports-http</artifactId>
    112             <version>${cxf.version}</version>
    113         </dependency>
    114   </dependencies>
    115   <build>
    116     <finalName>soaclient</finalName>
    117   </build>
    118 </project>

    web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     4     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     5     id="WebApp_ID" version="3.1">
     6     <display-name>zkclient</display-name>
     7 
     8     <context-param>
     9         <param-name>contextConfigLocation</param-name>
    10         <param-value>classpath:spring-cxf-config.xml</param-value>
    11     </context-param>
    12 
    13     <listener>
    14         <description>spring监听器</description>
    15         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    16     </listener>
    17 
    18     <filter>
    19         <filter-name>characterEncodingFilter</filter-name>
    20         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    21         <init-param>
    22             <param-name>encoding</param-name>
    23             <param-value>UTF-8</param-value>
    24         </init-param>
    25         <init-param>
    26             <param-name>forceEncoding</param-name>
    27             <param-value>true</param-value>
    28         </init-param>
    29     </filter>
    30 
    31     <filter-mapping>
    32         <filter-name>characterEncodingFilter</filter-name>
    33         <url-pattern>/*</url-pattern>
    34     </filter-mapping>
    35 
    36     <servlet>
    37         <description>spring mvc servlet</description>
    38         <servlet-name>springMvc</servlet-name>
    39         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    40         <init-param>
    41             <param-name>contextConfigLocation</param-name>
    42             <param-value>classpath:spring-mvc.xml</param-value>
    43         </init-param>
    44         <init-param>
    45             <param-name>activeReverseAjaxEnabled</param-name>
    46             <param-value>true</param-value>
    47         </init-param>
    48         <load-on-startup>1</load-on-startup>
    49     </servlet>
    50     <servlet-mapping>
    51         <servlet-name>springMvc</servlet-name>
    52         <url-pattern>*.do</url-pattern>
    53     </servlet-mapping>
    54     <welcome-file-list>
    55         <welcome-file>index.jsp</welcome-file>
    56     </welcome-file-list>
    57 </web-app>

    spring-mvc.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
     4     xmlns:context="http://www.springframework.org/schema/context"
     5     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
     6     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     7                         http://www.springframework.org/schema/beans/spring-beans-4.2.xsd 
     8                         http://www.springframework.org/schema/mvc 
     9                         http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd 
    10                         http://www.springframework.org/schema/context 
    11                         http://www.springframework.org/schema/context/spring-context-4.2.xsd ">
    12     <!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 -->
    13     <context:component-scan base-package="com.soa.web">
    14         <context:include-filter type="annotation"
    15             expression="org.springframework.stereotype.Controller" />
    16     </context:component-scan>
    17     <!-- 日期转换 必须放在<mvc:annotation-driven />前面 -->
    18     <bean
    19         class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>
    20     <mvc:annotation-driven />
    21     <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    22     <bean
    23         class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
    24     <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
    25     <bean
    26         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    27         <property name="prefix" value="/WEB-INF/jsp"></property>
    28         <property name="suffix" value=".jsp"></property>
    29     </bean>
    30 </beans>

    spring-cxf-config.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
     4     xsi:schemaLocation=" http://www.springframework.org/schema/beans    
     5     http://www.springframework.org/schema/beans/spring-beans.xsd    
     6     http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
     7     
     8     
     9     <jaxws:client id="iTestService" serviceClass="com.soa.service.ITestService"
    10         address="http://127.0.0.1:8080/soaservice/webservice/testServiceImpl?wsdl" />
    11 
    12 </beans>   

    ITestService.java 接口层

     1 package com.soa.service;
     2 import java.util.List;
     3 import javax.jws.WebService;
     4 import javax.jws.soap.SOAPBinding;
     5 import javax.jws.soap.SOAPBinding.Style;
     6 import com.soa.entity.Test;
     7 
     8 /**
     9  *
    10  * Test 表数据服务层接口
    11  *extends ISuperService<Test>
    12  */
    13 @WebService
    14 @SOAPBinding(style = Style.RPC)
    15 public interface ITestService  {
    16     public List<Test> selectAll();
    17 }

    TestController.java   Controller层调用接口

     1 package com.soa.web;
     2 
     3 import javax.servlet.http.HttpServletRequest;
     4 
     5 import org.springframework.beans.factory.annotation.Autowired;
     6 import org.springframework.beans.factory.annotation.Qualifier;
     7 import org.springframework.stereotype.Controller;
     8 import org.springframework.web.bind.annotation.RequestMapping;
     9 
    10 import com.soa.service.ITestService;
    11 
    12 @Controller
    13 @RequestMapping("test")
    14 public class TestController {
    15     @Autowired
    16     @Qualifier("iTestService")//注入iTestService 与spring-cxf-config.xml-->jaxws:client-->id相同
    17     private ITestService testService;
    18        @RequestMapping("test")
    19         private String toTest(HttpServletRequest request){
    20             request.setAttribute("list", testService.selectAll());
    21             return "/test";
    22         }
    23 }

    结束...............

  • 相关阅读:
    ThickBox弹出框的使用方法
    DATASET排序
    jQuery重要插件!
    获取所有querystring变量名
    using要写多少
    【MM系列】SAP MM模块-关于批次特性的查看和获取
    【MM系列】SAP SAP的账期分析和操作
    【ABAP系列】SAP ABAP基础-abap数据类型的解析整理
    【ABAP系列】SAP ABAP基础-录制BDC的MODE定义解析
    【ABAP系列】SAP ABAP基础-数据更新至数据库操作解析
  • 原文地址:https://www.cnblogs.com/lujion/p/6201318.html
Copyright © 2011-2022 走看看