Apache CXF实战之二 集成Sping与Web容器
2019独角兽企业重金招聘Python工程师标准>>>
书接上文,下面看看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">
packagecom.googlecode.garbagecan.cxfstudy.helloworld;
importjavax.jws.WebMethod;
importjavax.jws.WebParam;
importjavax.jws.WebResult;
importjavax.jws.WebService;
@WebService
publicinterfaceHelloWorld {
@WebMethod
@WebResultString sayHi(@WebParamString text);
}
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">
packagecom.googlecode.garbagecan.cxfstudy.helloworld;
publicclassHelloWorldImplimplementsHelloWorld {
publicString sayHi(String name) {
String msg = "Hello "+ name +"!";
returnmsg;
}
}
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">
<!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>cxfstudy</display-name>
<servlet>
<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>/ws/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:**/spring.xml</param-value>
</context-param>
</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">
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="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">
<importresource="classpath:META-INF/cxf/cxf.xml"/>
<importresource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<importresource="classpath:META-INF/cxf/cxf-servlet.xml"/>
<jaxws:endpointid="helloworld"implementor="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorldImpl"address="/HelloWorld"/>
<!-- For client test -->
<jaxws:clientid="helloworldClient"address="http://localhost:9000/ws/HelloWorld"serviceClass="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorld"/>
</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">
packagecom.googlecode.garbagecan.cxfstudy.helloworld;
importorg.springframework.context.ApplicationContext;
importorg.springframework.context.support.ClassPathXmlApplicationContext;
publicclassSpringClient {
publicstaticvoidmain(String[] args) {
ApplicationContext context = newClassPathXmlApplicationContext("spring.xml");
HelloWorld helloworld = (HelloWorld)context.getBean("helloworldClient");
System.out.println(helloworld.sayHi("kongxx"));
}
}
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容器相关推荐
- Apache CXF实战之六 创建安全的Web Service
2019独角兽企业重金招聘Python工程师标准>>> 本文链接:http://blog.csdn.net/kongxx/article/details/7534035 Apache ...
- Apache CXF实战之七 使用Web Service传输文件
2019独角兽企业重金招聘Python工程师标准>>> 本文链接:http://blog.csdn.net/kongxx/article/details/7540930 Apache ...
- Apache Tiles 学习(二)、Java Web应用中使用Apache Tiles
摘要: 在java web项目中使用Apache tiles. 在Java Web项目中使用Apache Tiles Tiles一直是一个web应用程序包,通常结合strut一起使用.Apache T ...
- Apache CXF框架简介
Apache CXF框架是一个开源的Web Services框架,它来源于两个开源项目--ObjectWeb Celtix(ESB产品)和Codehaus XFire(SOAP堆栈软件) Apache ...
- jax-ws cxf_走向REST:将Tomcat嵌入Spring和JAX-RS(Apache CXF)
jax-ws cxf 这篇文章是上一篇文章的逻辑延续. 唯一的区别是我们将使用的容器:它将是我们的老兄Apache Tomcat而不是Jetty . 令人惊讶的是,嵌入最新的Apache Tomcat ...
- 走向REST:将Tomcat与Spring和JAX-RS嵌入(Apache CXF)
这篇文章是上一篇文章的逻辑延续. 唯一的区别是我们将使用的容器:它将是我们的老兄Apache Tomcat而不是Jetty . 令人惊讶的是,嵌入最新的Apache Tomcat 7非常容易,因此现在 ...
- Java后端架构开荒实战(二)——单机到集群
Java后端架构开荒实战(二)--单机到集群 一.前言 上一篇文章做了一些准备工作,这边文章正式开始写代码. 在做好单实例架构之后,升级到集群是一件很容易的事情,所以把单机和集群放在这一篇一起说. 二 ...
- Java使用Apache CXF开发Web Service
转自:http://blog.csdn.net/hu_shengyang/article/details/38384597 以前工作中也用CXF,但都是用别人现成搭好的环境,这次自己重头搭建一遍环境. ...
- 基于Spring Boot应用Apache CXF发布Web Services服务
记录:298 场景:使用Spring Boot应用Apache CXF发布Web Services服务,实现跨系统之间交互接口. 版本: JDK 1.8 Spring Boot 2.6.3 Apach ...
最新文章
- python语言命令大全-python常用命令
- P2831 愤怒的小鸟
- BAT批处理文件无法运行提示“/E /I /Y ‘XCOPY‘ 不是内部或外部命令,也不是可运行的程序或批处理文件”解决方法
- ArrayList、LinkedList、 Vector、Map 用法比较
- Javascript 笔记(1)----函数
- SSCE(SQL Server Compact Edition)适合哪些应用场景
- 通过配置文件连接mysql_利用配置文件连接数据库
- Redis高并发5-redis数据持久化之企业应用
- 65.邮件服务器:Postfix
- ubuntu /etc/profile和/etc/environment的比较
- 新手使用GitHub客户端提交本地项目到GitHub网站详细步骤
- Arduino 测量交流电流
- 【日常】关于爬虫中iframe节点处理小结(以超星课件下载为例)
- HTML学生考勤界面代码,基于jsp的学生考勤系统-JavaEE实现学生考勤系统 - java项目源码...
- android 测试机 知乎,appium 自动化测试之知乎Android客户端
- WiFi6特性,一起深入学习,OFDMA,QAM调制,BSS
- ubuntu 8.10安装配置经验(Intrepid Ibex)——转载
- HC05主从一体化蓝牙模块配置
- 基于S32K144实现TPS929120的基本控制功能
- ue4材质节点怎么用_自学ue4材质,一大堆材质节点该如何学?
热门文章
- 技术选型都做不好,难怪自动化做得这么费力...
- java socket 浏览器_java实现websocket(图文)
- docker 镜像重命名_Docker使用技巧:你会正确导出Docker镜像?
- c++ log 打印android_如何在Android C++文件中打印ALOGI(...)?
- 修改linq结果集_linq 查询的结果会开辟新的内存吗?
- latex 箭头_Pandoc上手以及如何使得latex文件转换为Docx文件(MAC)
- 电大计算机网络本作业1,2017年最新电大计算机网络作业1-3答案.doc
- enable pen pressure in ps
- QT+CUDA7.5+UBUNTU14.04
- ResNeXt核心思想