2019独角兽企业重金招聘Python工程师标准>>> hot3.png

书接上文,下面看看CXF怎样和spring集成。

1.创建HelloWorld 接口类

[java] view plaincopyprint?

<EMBED id=ZeroClipboardMovie_1 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=14 width=29 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=1&width=29&height=14" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">

  1. packagecom.googlecode.garbagecan.cxfstudy.helloworld;

  2. importjavax.jws.WebMethod;

  3. importjavax.jws.WebParam;

  4. importjavax.jws.WebResult;

  5. importjavax.jws.WebService;

  6. @WebService

  7. publicinterfaceHelloWorld {

  8. @WebMethod

  9. @WebResultString sayHi(@WebParamString text);

  10. }

2.创建HelloWorld实现类

[java] view plaincopyprint?

<EMBED id=ZeroClipboardMovie_2 name=ZeroClipboardMovie_2 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=14 width=29 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=2&width=29&height=14" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">

  1. packagecom.googlecode.garbagecan.cxfstudy.helloworld;

  2. publicclassHelloWorldImplimplementsHelloWorld {

  3. publicString sayHi(String name) {

  4. String msg = "Hello "+ name +"!";

  5. returnmsg;

  6. }

  7. }

3.修改web.xml文件

[html] view plaincopyprint?

<EMBED id=ZeroClipboardMovie_3 name=ZeroClipboardMovie_3 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=14 width=29 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=3&width=29&height=14" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">

  1. <!DOCTYPE web-app PUBLIC

  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

  3. "http://java.sun.com/dtd/web-app_2_3.dtd" >

  4. <web-app>

  5. <display-name>cxfstudy</display-name>

  6. <servlet>

  7. <servlet-name>cxf</servlet-name>

  8. <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>

  9. <load-on-startup>1</load-on-startup>

  10. </servlet>

  11. <servlet-mapping>

  12. <servlet-name>cxf</servlet-name>

  13. <url-pattern>/ws/*</url-pattern>

  14. </servlet-mapping>

  15. <listener>

  16. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

  17. </listener>

  18. <context-param>

  19. <param-name>contextConfigLocation</param-name>

  20. <param-value>classpath*:**/spring.xml</param-value>

  21. </context-param>

  22. </web-app>

4.创建spring配置文件并放在classpath路径下

[html] view plaincopyprint?

<EMBED id=ZeroClipboardMovie_4 name=ZeroClipboardMovie_4 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=14 width=29 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=4&width=29&height=14" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">

  1. <?xmlversion="1.0"encoding="UTF-8"?>

  2. <beansxmlns="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 http://www.springframework.org/schema/beans/spring-beans.xsd

  5. http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

  6. <importresource="classpath:META-INF/cxf/cxf.xml"/>

  7. <importresource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>

  8. <importresource="classpath:META-INF/cxf/cxf-servlet.xml"/>

  9. <jaxws:endpointid="helloworld"implementor="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorldImpl"address="/HelloWorld"/>

  10. <!-- For client test -->

  11. <jaxws:clientid="helloworldClient"address="http://localhost:9000/ws/HelloWorld"serviceClass="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorld"/>

  12. </beans>

5.创建测试类

[java] view plaincopyprint?

<EMBED id=ZeroClipboardMovie_5 name=ZeroClipboardMovie_5 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=14 width=29 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=5&width=29&height=14" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">

  1. packagecom.googlecode.garbagecan.cxfstudy.helloworld;

  2. importorg.springframework.context.ApplicationContext;

  3. importorg.springframework.context.support.ClassPathXmlApplicationContext;

  4. publicclassSpringClient {

  5. publicstaticvoidmain(String[] args) {

  6. ApplicationContext context = newClassPathXmlApplicationContext("spring.xml");

  7. HelloWorld helloworld = (HelloWorld)context.getBean("helloworldClient");

  8. System.out.println(helloworld.sayHi("kongxx"));

  9. }

  10. }

6.测试

6.1 首先启动tomcat或者使用maven的jetty,并访问http://localhost:9000/ws/HelloWorld?wsdl来验证web service已经启动并且生效;

6.2 然后运行测试类来验证web service。

转载于:https://my.oschina.net/OkSerIous/blog/495690

Apache CXF实战之二 集成Sping与Web容器相关推荐

  1. Apache CXF实战之六 创建安全的Web Service

    2019独角兽企业重金招聘Python工程师标准>>> 本文链接:http://blog.csdn.net/kongxx/article/details/7534035 Apache ...

  2. Apache CXF实战之七 使用Web Service传输文件

    2019独角兽企业重金招聘Python工程师标准>>> 本文链接:http://blog.csdn.net/kongxx/article/details/7540930 Apache ...

  3. Apache Tiles 学习(二)、Java Web应用中使用Apache Tiles

    摘要: 在java web项目中使用Apache tiles. 在Java Web项目中使用Apache Tiles Tiles一直是一个web应用程序包,通常结合strut一起使用.Apache T ...

  4. Apache CXF框架简介

    Apache CXF框架是一个开源的Web Services框架,它来源于两个开源项目--ObjectWeb Celtix(ESB产品)和Codehaus XFire(SOAP堆栈软件) Apache ...

  5. jax-ws cxf_走向REST:将Tomcat嵌入Spring和JAX-RS(Apache CXF)

    jax-ws cxf 这篇文章是上一篇文章的逻辑延续. 唯一的区别是我们将使用的容器:它将是我们的老兄Apache Tomcat而不是Jetty . 令人惊讶的是,嵌入最新的Apache Tomcat ...

  6. 走向REST:将Tomcat与Spring和JAX-RS嵌入(Apache CXF)

    这篇文章是上一篇文章的逻辑延续. 唯一的区别是我们将使用的容器:它将是我们的老兄Apache Tomcat而不是Jetty . 令人惊讶的是,嵌入最新的Apache Tomcat 7非常容易,因此现在 ...

  7. Java后端架构开荒实战(二)——单机到集群

    Java后端架构开荒实战(二)--单机到集群 一.前言 上一篇文章做了一些准备工作,这边文章正式开始写代码. 在做好单实例架构之后,升级到集群是一件很容易的事情,所以把单机和集群放在这一篇一起说. 二 ...

  8. Java使用Apache CXF开发Web Service

    转自:http://blog.csdn.net/hu_shengyang/article/details/38384597 以前工作中也用CXF,但都是用别人现成搭好的环境,这次自己重头搭建一遍环境. ...

  9. 基于Spring Boot应用Apache CXF发布Web Services服务

    记录:298 场景:使用Spring Boot应用Apache CXF发布Web Services服务,实现跨系统之间交互接口. 版本: JDK 1.8 Spring Boot 2.6.3 Apach ...

最新文章

  1. python语言命令大全-python常用命令
  2. P2831 愤怒的小鸟
  3. BAT批处理文件无法运行提示“/E /I /Y ‘XCOPY‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”解决方法
  4. ArrayList、LinkedList、 Vector、Map 用法比较
  5. Javascript 笔记(1)----函数
  6. SSCE(SQL Server Compact Edition)适合哪些应用场景
  7. 通过配置文件连接mysql_利用配置文件连接数据库
  8. Redis高并发5-redis数据持久化之企业应用
  9. 65.邮件服务器:Postfix
  10. ubuntu /etc/profile和/etc/environment的比较
  11. 新手使用GitHub客户端提交本地项目到GitHub网站详细步骤
  12. Arduino 测量交流电流
  13. 【日常】关于爬虫中iframe节点处理小结(以超星课件下载为例)
  14. HTML学生考勤界面代码,基于jsp的学生考勤系统-JavaEE实现学生考勤系统 - java项目源码...
  15. android 测试机 知乎,appium 自动化测试之知乎Android客户端
  16. WiFi6特性,一起深入学习,OFDMA,QAM调制,BSS
  17. ubuntu 8.10安装配置经验(Intrepid Ibex)——转载
  18. HC05主从一体化蓝牙模块配置
  19. 基于S32K144实现TPS929120的基本控制功能
  20. ue4材质节点怎么用_自学ue4材质,一大堆材质节点该如何学?

热门文章

  1. 技术选型都做不好,难怪自动化做得这么费力...
  2. java socket 浏览器_java实现websocket(图文)
  3. docker 镜像重命名_Docker使用技巧:你会正确导出Docker镜像?
  4. c++ log 打印android_如何在Android C++文件中打印ALOGI(...)?
  5. 修改linq结果集_linq 查询的结果会开辟新的内存吗?
  6. latex 箭头_Pandoc上手以及如何使得latex文件转换为Docx文件(MAC)
  7. 电大计算机网络本作业1,2017年最新电大计算机网络作业1-3答案.doc
  8. enable pen pressure in ps
  9. QT+CUDA7.5+UBUNTU14.04
  10. ResNeXt核心思想