zoukankan      html  css  js  c++  java
  • 使用cxf写web service的简单实例

    增加CXF依赖

    <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>apache-cxf</artifactId>
            <version>${cxf.version}</version>
            <type>pom</type>
      </dependency>

    创建服务接口

    import javax.jws.WebService;
    
    @WebService
    public interface HelloWorld {
        public String sayHi(String text);
    }
    
    import javax.jws.WebService;
    
    @WebService
    public class HellowWordController implements HelloWorld {
        /*
         * (non-Javadoc)
         * 
         * @see com.wfj.infc.HelloWorld#sayHi(java.lang.String)
         */
        public String sayHi(String text) {
            // TODO Auto-generated method stub
            System.out.println("sayHi called");
            return "Hello " + text;
        }
    
    }

    cxfdemo-beans.xml

    <?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"
           default-autowire="byName">
    
        <import resource="classpath:META-INF/cxf/cxf.xml"/>
        <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
        <bean id="hello" class="com.wangfj.product.core.controller.HellowWordController"/>
        <jaxws:endpoint id="helloWorld" implementor="#hello" address="/webservice/hw"/>
    </beans>

    在webapp中发布

    XF提供了spring的集成,同时还提供了org.apache.cxf.transport.servlet.CXFServlet用于在 web容器中发布WebService。 前面的例子中增加了整个apache-cxf的依赖,所以会自动增加对srping的引用。只需要写beans配置文件和web.xml文件即可。

    • 在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>/services/*</url-pattern>
        </servlet-mapping>
     <context-param>
             <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/cxfdemo-beans.xml</param-value>
        </context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
  • 相关阅读:
    关于信号量sem_wait的整理(转)
    WPF版的正则表达式工具开发完成
    F#中的Tuples、函数类型和参数柯里化
    一个WPF版的类Vista的地址栏控件Breadcrumb Bar
    多文档版的的正则表达式工具
    Reactive Extensions for .NET (Rx)
    解决下载的电子书中换行的问题
    WPF下的语法高亮控件——AvalonEdit
    把正则表达式测试工具界面更新为Aero效果的了
    Blend可以支持.net 4.0的工程了
  • 原文地址:https://www.cnblogs.com/KohnKong/p/5887904.html
Copyright © 2011-2022 走看看