maven3.1.1 spring4.3.4+mybatis3.2.8+CXF3.1.7 发布webservice 注意几点

来源:互联网 发布:migration 迁移数据库 编辑:程序博客网 时间:2024/05/11 22:35

1、 cxf-service.xml 配置service的接口以及实现,位置在web-info 根目录下

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:soap="http://cxf.apache.org/bindings/soap" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">    <jaxws:server id="afService" serviceClass="com.gzzy.af.webservice.HelloWorld" address="/af_service">        <jaxws:serviceBean>            <bean class="com.gzzy.af.webservice.HelloWorldImpl"/>        </jaxws:serviceBean>    </jaxws:server></beans>

2.配置web.xml 只需要配置cxf的servlet配置到里面即可,无需配置cxf-service.xml到web.xml中

<servlet>        <description>Apache CXF Endpoint</description>        <display-name>cxf</display-name>        <servlet-name>cxf</servlet-name>        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>cxf</servlet-name>        <url-pattern>/services/*</url-pattern>    </servlet-mapping>    <session-config>        <session-timeout>60</session-timeout>    </session-config>
3.配置pom.xml主要说明CXF需要坐标,Spring 与数据库的省略

<dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-frontend-jaxws</artifactId>            <version>3.1.7</version>        </dependency>        <dependency>            <groupId>org.apache.cxf</groupId>            <artifactId>cxf-rt-transports-http</artifactId>            <version>3.1.7</version>        </dependency>

4.编写测试代码,到官网下载一个zip包,有样例http://www.apache.org/dyn/closer.lua/cxf/3.1.10/apache-cxf-3.1.10.zip

@WebServicepublic interface HelloWorld {    String sayHi(String text);}@WebService(endpointInterface = "com.gzzy.af.webservice.HelloWorld",            serviceName = "HelloWorld")public class HelloWorldImpl implements HelloWorld {        public String sayHi(String text) {        System.out.println("sayHi called");        return "Hello " + text;    }



1 0