CXF结合Spring 开发SOAP WebService服务

来源:互联网 发布:deepin linux 安装软件 编辑:程序博客网 时间:2024/05/18 14:43

使用CXF框架来开发SOAP WebService服务

服务端(web项目):

1.使用maven构建项目所需jar

  <dependencies>    <dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.10</version>    <scope>test</scope></dependency>  <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-webmvc</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-context</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-beans</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-web</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-jdbc</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-aop</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-tx</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-orm</artifactId>            <version>4.1.3.RELEASE</version>        </dependency>        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-core</artifactId>            <version>4.3.11.Final</version>        </dependency>        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-entitymanager</artifactId>            <version>4.3.11.Final</version>        </dependency>        <dependency>            <groupId>org.hibernate</groupId>            <artifactId>hibernate-ehcache</artifactId>            <version>4.3.11.Final</version>        </dependency>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.35</version>        </dependency>        <dependency>            <groupId>commons-dbcp</groupId>            <artifactId>commons-dbcp</artifactId>            <version>1.2.2</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>           <!-- jackson -->        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.5.0</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-core</artifactId>            <version>2.5.0</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-annotations</artifactId>            <version>2.5.0</version>        </dependency>        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->        <dependency>            <groupId>org.springframework.data</groupId>            <artifactId>spring-data-jpa</artifactId>            <version>1.7.1.RELEASE</version>        </dependency>                <dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-api</artifactId>    <version>1.7.13</version></dependency><dependency>    <groupId>org.slf4j</groupId>    <artifactId>slf4j-simple</artifactId>    <version>1.7.13</version>    <scope>test</scope></dependency><!-- CXF --><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf</artifactId><version>2.7.7</version><type>pom</type></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-frontend-jaxws</artifactId><version>2.7.7</version></dependency><dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-rt-transports-http</artifactId><version>2.7.7</version></dependency>  </dependencies>
2.spring的配置主要包括 导入CXF的配置文件和发布WS服务的配置  其他配置省略,注意开启注解扫描

    <!-- 导入CXF的核心配置 -->      <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" />           <!-- 发布ws服务的配置 -->    <jaxws:endpoint id="userService" implementor="com.cfx.wsServer.service.impl.UserServiceImpl" address="/userService" />
3.web.xml

        <!-- Spring --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:application.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- CXF --><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>/ws/*</url-pattern></servlet-mapping>
4.功能代码(entity和dao层省略)

@Service@WebService(endpointInterface="com.cfx.wsServer.service.IUserService",serviceName="userService")public interface IUserService {    @WebMethod    public List<User> getUserList();}
@Service@Transactionalpublic class UserServiceImpl implements IUserService {@Autowiredprivate IUserDao userDao;public List<User> getUserList() {// TODO Auto-generated method stub return userDao.getUserList();}}

5.启动Tomcat测试,地址栏输入http://localhost:8080/wsServer/ws/userService?wsdl,出现如下图所示,说明发布WS服务暴露成功.


客户端(普通的maven项目):

为了避免不必要的麻烦,建议使用服务端的pom文件.






原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 蜂鸟众包健康证怎么办 百度外卖送错了怎么办 脸上的疤变黑了怎么办 唱吧不能凳入怎么办 唱吧密码忘了怎么办 yy违规b类z怎么办 奇云2中控台褪色怎么办 uv打印错一个字怎么办 多肉砍头后的桩怎么办 哥哥太爱我怎么办电影 吃了减肥药怀孕怎么办 win10玩不了qq堂怎么办 电脑只有c盘了怎么办 美拍直播没人看怎么办 洛神花孕妇喝了怎么办 黑枸杞泡水褐色怎么办 红薯吃多了胃胀怎么办 在赌场掉了筹码怎么办? 到缅甸被绑架了怎么办 在淘宝不给退货怎么办 鞋上魔术贴坏了怎么办 手机支架不粘了怎么办 赌博把房子输了怎么办 当发现老公有外遇时怎么办 led灯带中间不亮怎么办 飘窗的天花板凸怎么办 一受委屈就爱哭怎么办 6岁儿童叛逆期怎么办 孩子高一了厌学怎么办 除上有肥胖纹怎么办 6岁不爱写作业怎么办 初中孩子不爱写作业怎么办 孩子上课走神写作业慢怎么办 孩子作业写得慢怎么办 4岁宝宝不写作业怎么办 小孩作业写得慢怎么办 3岁宝宝不写作业怎么办 小孩不写作业怎么办呀 作业没写完的人怎么办? 孩子不写作业家长该怎么办 做作业做得慢怎么办