zoukankan      html  css  js  c++  java
  • Spring+CXF的WebServices简单示例

    本文就最简单的WebServices示例来演示Spring和CXF的整合。

    1. 使用Maven创建webapp项目,pom如下
      <properties>
      	<cxf.version>2.2.3</cxf.version>
      </properties>
      
      <dependencies>
      	<dependency>
      		<groupId>javax.servlet</groupId>
      		<artifactId>javax.servlet-api</artifactId>
      		<version>3.1.0</version>
      	</dependency>
      
      	<dependency>
      		<groupId>org.springframework</groupId>
      		<artifactId>spring-webmvc</artifactId>
      		<version>4.1.4.RELEASE</version>
      	</dependency>
      
      	<dependency>
      		<groupId>org.apache.cxf</groupId>
      		<artifactId>cxf-rt-frontend-jaxws</artifactId>
      		<version>${cxf.version}</version>
      	</dependency>
      	<dependency>
      		<groupId>org.apache.cxf</groupId>
      		<artifactId>cxf-rt-transports-http</artifactId>
      		<version>${cxf.version}</version>
      	</dependency>
      	<!-- Jetty is needed if you're are not using the CXFServlet -->
      	<dependency>
      		<groupId>org.apache.cxf</groupId>
      		<artifactId>cxf-rt-transports-http-jetty</artifactId>
      		<version>${cxf.version}</version>
      	</dependency>
      
      	<dependency>
      		<groupId>junit</groupId>
      		<artifactId>junit</artifactId>
      		<version>4.12</version>
      		<scope>test</scope>
      	</dependency>
      </dependencies>
    2. 需要暴露的服务
      @WebService
      public class Hello {
      	public String say(){
      		return "hello,kevin";
      	}
      }
    3. Spring配置文件
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
      	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xmlns:jaxws="http://cxf.apache.org/jaxws"
      	xsi:schemaLocation="http://www.springframework.org/schema/beans 
      		http://www.springframework.org/schema/beans/spring-beans.xsd
      		http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
      
      	<bean id="hello" class="net.oseye.Hello"></bean>
      	
      	<import resource="classpath:META-INF/cxf/cxf.xml" />
          <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
          <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
      
          <jaxws:endpoint id="helloService" implementor="#hello" address="/hello" />
      </beans>
    4. web.xml
      <!DOCTYPE web-app PUBLIC
       "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
       "http://java.sun.com/dtd/web-app_2_3.dtd" >
      
      <web-app>
        <display-name>Archetype Created Web Application</display-name>
      
      	<!-- needed for ContextLoaderListener -->
      	<context-param>
      		<param-name>contextConfigLocation</param-name>
      		<param-value>classpath:applicationContext.xml</param-value>
      	</context-param>
      
      	<!-- Bootstraps the root web application context before servlet initialization -->
      	<listener>
      		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      	</listener> 
      	
      	<servlet>
      		<servlet-name>cxf</servlet-name>
      		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
      	</servlet> 
      	<servlet-mapping>
      		<servlet-name>cxf</servlet-name>
      		<url-pattern>/*</url-pattern>
      	</servlet-mapping>
      </web-app>
    5. 运行

  • 相关阅读:
    SDN概述
    Linux企业运维人员必备150个命令汇总
    自动化运维工具puppet详解(二)
    自动化运维工具puppet详解(一)
    自动化运维工具[ansible详解三]
    ansible 常用模块
    自动化运维工具【ansible详解 二】
    A. Cinema Line
    A. Wrong Subtraction
    A. The number of positions
  • 原文地址:https://www.cnblogs.com/zhaiqianfeng/p/4622605.html
Copyright © 2011-2022 走看看