使用Apache CXF和Spring集成创建Web Service
1.创建HelloWorld 接口类
1 |
package com.googlecode.garbagecan.cxfstudy.helloworld; |
2 |
import javax.jws.WebParam; |
3 |
import javax.jws.WebResult; |
4 |
import javax.jws.WebService; |
6 |
public interface HelloWorld { |
7 |
public @WebResult (name= "String" )String sayHi( @WebParam (name= "text" ) String text); |
2.创建HelloWorld实现类
1 |
package com.googlecode.garbagecan.cxfstudy.helloworld; |
2 |
public class HelloWorldImpl implements HelloWorld { |
3 |
public String sayHi(String name) { |
4 |
String msg = "Hello " + name + "!" ; |
5 |
System.out.println( "Server: " + msg); |
3.修改web.xml文件
01 |
<!DOCTYPE web-app PUBLIC |
02 |
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" |
03 |
"http://java.sun.com/dtd/web-app_2_3.dtd" > |
05 |
< display-name >cxfstudy</ display-name > |
07 |
< servlet-name >cxf</ servlet-name > |
08 |
< servlet-class >org.apache.cxf.transport.servlet.CXFServlet</ servlet-class > |
09 |
< load-on-startup >1</ load-on-startup > |
12 |
< servlet-name >cxf</ servlet-name > |
13 |
< url-pattern >/ws/*</ url-pattern > |
16 |
< listener-class >org.springframework.web.context.ContextLoaderListener</ listener-class > |
20 |
< param-name >contextConfigLocation</ param-name > |
21 |
< param-value >classpath*:**/spring.xml</ param-value > |
4.创建spring配置文件并放在classpath路径下
01 |
<? xml version = "1.0" encoding = "UTF-8" ?> |
02 |
< beans xmlns = "http://www.springframework.org/schema/beans" |
03 |
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws = "http://cxf.apache.org/jaxws" |
04 |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd |
05 |
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> |
06 |
< import resource = "classpath:META-INF/cxf/cxf.xml" /> |
07 |
< import resource = "classpath:META-INF/cxf/cxf-extension-soap.xml" /> |
08 |
< import resource = "classpath:META-INF/cxf/cxf-servlet.xml" /> |
09 |
< jaxws:endpoint id = "helloworld" implementor = "com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorldImpl" address = "/HelloWorld" /> |
11 |
<!-- For client test --> |
12 |
< jaxws:client id = "helloworldClient" address = "http://localhost:9000/ws/HelloWorld" serviceClass = "com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorld" /> |
5.创建测试类
01 |
package com.googlecode.garbagecan.cxfstudy.helloworld; |
02 |
import org.springframework.context.ApplicationContext; |
03 |
import org.springframework.context.support.ClassPathXmlApplicationContext; |
04 |
public class SpringClient { |
05 |
public static void main(String[] args) { |
06 |
ApplicationContext context = new ClassPathXmlApplicationContext( "spring.xml" ); |
07 |
HelloWorld helloworld = (HelloWorld)context.getBean( "helloworldClient" ); |
08 |
System.out.println(helloworld.sayHi( "kongxx" )); |
6.测试
6. 1.首先启动tomcat或者使用maven的jetty,并访问http://localhost:9000/ws/HelloWorld?wsdl来验证web service已经启动并且生效;
6. 2.然后运行测试类来验证web service。
- Apache CXF实战之四 构建RESTful Web Service
Apache CXF实战之一 Hello World Web Service Apache CXF实战之二 集成Sping与Web容器 Apache CXF实战之三 传输Java对象 这篇文章介绍一下 ...
- 使用CXF与Spring集成实现RESTFul WebService
以下引用与网络中!!! 一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存 ...
- 【spring boot】5.spring boot 创建web项目并使用jsp作前台页面
贼烦的是,使用spring boot 创建web项目,然后我再idea下创建的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是能够进入controller中,也不能成功 ...
- 基于cxf开发restful风格的Web Service
一.写在前面 webservice一些简单的其他用法和概念,就不在这里赘述了,相信大家都可以在网上查到,我也是一个新手,写这篇文章的目的一方面是想记录自己成长的历程,另一方面是因为学习这个的时候花了点 ...
- 构建一个基于 Spring 的 RESTful Web Service
本文详细介绍了基于Spring创建一个“hello world” RESTful web service工程的步骤. 目标 构建一个service,接收如下HTTP GET请求: http://loc ...
- [翻译]Spring MVC RESTFul Web Service CRUD 例子
Spring MVC RESTFul Web Service CRUD 例子 本文主要翻译自:http://memorynotfound.com/spring-mvc-restful-web-serv ...
- 在Salesforce中创建Web Service供外部系统调用
在Salesforce中可以创建Web Service供外部系统调用,并且可以以SOAP或者REST方式向外提供调用接口,接下来的内容将详细讲述一下用SOAP的方式创建Web Service并且用As ...
- win7 gsoap与vs2010 c++创建Web Service
---恢复内容开始--- 之前曾经编写过简单的样例,很久没有碰过,发现已经全部忘记,如今又需要重新巩固一下. 首先是下载gsoap,无法访问官方下载页面,只能在网上搜索,找到一个2.8版本存入云盘以防 ...
- 使用Axis2创建Web Service
Axis2是新一代Web Service开发工具,目前最新版本是1.5.本文主要介绍如何用Axis2创建Web Service. 首先下载二进制包和war包,将war包复制到Tomcat的webapp ...
随机推荐
- leetcode 167 two sum II
167. Two Sum II - Input array is sorted Given an array of integers that is already sorted in ascendi ...
- Tomcat添加管理员role
最近朋友问我怎么在Tomcat里面使用 admin 登录,一般情况下登录后是提示xxx的,经过百度后,好不容易才找到答案: 原来添加一个role为admin:<role rolena ...
- 直接修改java的war包
会出现 jsp特征类型不对 descriptior UTF8 与ntfs 可以用jar命令来解决. 1.将war包移动到一个干净的路径下,使用jar xvf ROOT.war命令将war进行解压 ...
- 如何向 Windows 7 镜像中添加 USB3.0 驱动
如何向 Windows 7 镜像中添加 USB3.0 驱动 1. Microsoft 在 Windows 7 的安装光盘并没有集成各个厂商的 USB3.0 驱动,可 以使用下面方法添加 USB3.0 ...
- centos 7 搭建openvpn-2.4.6
参考:https://blog.csdn.net/weixin_42250094/article/details/80384863 http://www.startupcto.com/server-t ...
- vue 定时器的问题
在项目中,我们经常会使用到定时器setInterval(),可是很多时候我们会发现,即使我退出当前页面,定时器依然在工作,非常消耗内存,所以我们要进行手动清理: 将定时器保存在变量中,退出页面时清除变 ...
- ConcurrentMap与CopyOnWrite容器
ConcurrentMap接口下有两个重要的实现: ConcurrentHashMap ConcurrentSkipListMap(支持并发排序功能,弥补ConcurrentHashMap) Conc ...
- 【mysql】字段支持JSON类型
mysql从5.7开始已经支持JSON类型的字段. 支持的操作:添加,修改,置空,子key添加,子key重置,子key删除,通过子key查找等. 但是这里和普通字段的修改和查找不同,涉及到一些JSON ...
- 【mysql】分区表
分区表是什么? 分区表可以按照事先创建的规则,对mysql的记录进行分组,每一个组具有一个独立的逻辑单元来存储该组的数据.典型的如:按照创建时间的年份分组,按照id的顺序分组(每1000万条数据分一个 ...
- 上海大都会赛 I Matrix Game(最大流)
At the start of the matrix game, we have an N x M matrix. Each grid has some balls.The grid in (i,j) ...