【WebService】2.CXF概述和使用CXF开发WebService服务器端
来源:互联网 发布:windows7查看端口占用 编辑:程序博客网 时间:2024/05/22 09:50
上一次介绍了什么是WebService,那么Java最初提供了一套编写WebService的框架是Axis,这个Axis是Apache开源组织开发的。
后来又有了一个新框架是XFire,抢了Axis的风头,所以Apache又推出了Axis2,在XFire的基础上又添加了新的功能,更加优秀,但是XFire也不甘示弱,于是他们也升级XFire为CXF(Celtix + XFire)。这里XFire本身就是WebService,而Celtix是ESB的框架(Enterprise Service Bus 企业服务总线) 。
CXF号称是SOA框架(SOA是面向服务的架构)
CXF内置了一个Jetty Web服务器。
下面我们使用CXF开发WebService服务器端:
我们首先在Apache官网下载CXF:http://cxf.apache.org/
下载最新版本(Windows系统的开发者下载zip格式的即可)
其中bin下面都是一些指令文件
这里我们要把他们配置在我们的“环境变量”中:
测试是否配置成功,打开控制台,输入一个指令即可:
这就配置成功了
doc放置的是CXF的开发文档API,然后我们的lib中放置的是CXF要使用的核心jar包。licenses是各种开源项目的许可证。samples是一些样例。etc放置的是其它一些额外文件(配置文件等)。
介绍完之后,接下来我们就使用CXF开发WebService服务器端
首先我们创建一个名为WS_Server的javaproject:
注意,选择的java环境一定要是1.6.0_22版本以上,最好是1.7的!!
然后我们按照步骤进行开发。
注:每个WebService组件需要2个部分,接口和实现类。
(1)开发一个Web Service业务接口,该接口要用@WebService注解修饰。
我们这里创建一个名为HelloWorld的接口:
关于WebService这个注解,只是sun公司提供一个规范,sun公司并没有提供相应的框架,框架是由CXF提供的。
(2)开发一个WebService实现类,也要使用@WebService注解修饰。
定义一个实现类,去实现HelloWorld的接口:
其中endpointInterface是声明实现的接口信息,serviceName是该服务的名称。
我们现在要做到的是,让这个sayHi()方法,能被其它语言,其它平台访问到。
(3)发布WebService
在这之前,我们要加入WebService需要的jar包,我们右击工程添加环境:
创建好依赖环境之后,为CXF环境添加依赖的jar包:
我们要添加下列jar:
添加之后的效果:
接下来需要对外发布我们的WebService,我们创建一个执行类,名字为ServerMain:
说明我们的WebService发布成功!
这里我们在浏览器中访问我们的WebService:
转载请注明出处:http://blog.csdn.net/acmman/article/details/51678449
后来又有了一个新框架是XFire,抢了Axis的风头,所以Apache又推出了Axis2,在XFire的基础上又添加了新的功能,更加优秀,但是XFire也不甘示弱,于是他们也升级XFire为CXF(Celtix + XFire)。这里XFire本身就是WebService,而Celtix是ESB的框架(Enterprise Service Bus 企业服务总线) 。
CXF号称是SOA框架(SOA是面向服务的架构)
CXF内置了一个Jetty Web服务器。
下面我们使用CXF开发WebService服务器端:
我们首先在Apache官网下载CXF:http://cxf.apache.org/
下载最新版本(Windows系统的开发者下载zip格式的即可)
其中bin下面都是一些指令文件
这里我们要把他们配置在我们的“环境变量”中:
测试是否配置成功,打开控制台,输入一个指令即可:
这就配置成功了
doc放置的是CXF的开发文档API,然后我们的lib中放置的是CXF要使用的核心jar包。licenses是各种开源项目的许可证。samples是一些样例。etc放置的是其它一些额外文件(配置文件等)。
介绍完之后,接下来我们就使用CXF开发WebService服务器端
首先我们创建一个名为WS_Server的javaproject:
注意,选择的java环境一定要是1.6.0_22版本以上,最好是1.7的!!
然后我们按照步骤进行开发。
注:每个WebService组件需要2个部分,接口和实现类。
(1)开发一个Web Service业务接口,该接口要用@WebService注解修饰。
我们这里创建一个名为HelloWorld的接口:
package org.java.cxf.ws;import javax.jws.WebService;@WebServicepublic interface HelloWorld { public String sayHi(String name);}
关于WebService这个注解,只是sun公司提供一个规范,sun公司并没有提供相应的框架,框架是由CXF提供的。
(2)开发一个WebService实现类,也要使用@WebService注解修饰。
定义一个实现类,去实现HelloWorld的接口:
package org.java.cxf.ws.impl;import java.util.Date;import javax.jws.WebService;import org.java.cxf.ws.HelloWorld;@WebService(endpointInterface="org.java.cxf.ws.HelloWorld" ,serviceName="HelloworldWs")public class HelloworldWs implements HelloWorld{ @Override public String sayHi(String name) { return name+",您好" +"现在的时间是:"+new Date(); }}
其中endpointInterface是声明实现的接口信息,serviceName是该服务的名称。
我们现在要做到的是,让这个sayHi()方法,能被其它语言,其它平台访问到。
(3)发布WebService
在这之前,我们要加入WebService需要的jar包,我们右击工程添加环境:
创建好依赖环境之后,为CXF环境添加依赖的jar包:
我们要添加下列jar:
添加之后的效果:
接下来需要对外发布我们的WebService,我们创建一个执行类,名字为ServerMain:
package show;import javax.xml.ws.Endpoint;public class ServerMain { public static void main(String[] args) { }}我们在其中编写对外公布WebService的逻辑代码:
package show;import javax.xml.ws.Endpoint;import org.java.cxf.ws.HelloWorld;import org.java.cxf.ws.impl.HelloworldWs;public class ServerMain { public static void main(String[] args) { HelloWorld hw=new HelloworldWs(); //调用Endpoint的publish方法发布WebService Endpoint.publish("http://127.0.0.1:8082/sayHi", hw); System.out.println("WebService 暴露成功!"); }}这里我们就发布完成了!是不是很简单?我们运行ServerMain来进行测试:
说明我们的WebService发布成功!
这里我们在浏览器中访问我们的WebService:
转载请注明出处:http://blog.csdn.net/acmman/article/details/51678449
0 0
- 【WebService】2.CXF概述和使用CXF开发WebService服务器端
- WebService第二课 CXF功能概述_CXF发展历史和使用CXF开发WebService服务器端
- 使用CXF开发WebService服务器端接口
- 使用CXF开发WebService服务器端接口
- cxf、webService开发和使用
- CXF开发WebService服务器端接口
- 使用cxf开发webservice
- 使用cxf 开发webservice
- 使用CXF开发WebService
- 使用cxf开发WebService
- 使用CXF开发WebService
- 使用cxf开发webservice
- 使用CXF开发WebService服务器端接口学习笔记一
- CXF开发webService客户端调用服务器端测试
- 【WebService开发】之使用CXF开发WebService
- webservice开发二:使用CXF开发webservice
- 使用CXF开发WebService客户端
- 使用CXF开发WebService客户端
- Android之Service(一):服务简介
- UI动画_Spring Animation动画
- 用JAVA 字符串转hex字符串
- AR制作
- VR制作
- 【WebService】2.CXF概述和使用CXF开发WebService服务器端
- Spring DI
- UniversalImageLoader+HttpClient+RecycleView总结
- 点击屏幕隐藏键盘的正确写法
- SharedPreferences数据存储
- php文件操作
- 用JAVA实现 hex字符串转出字符串
- iOS 【上架问题】ERROR ITMS-90086
- Matlab 集群计算平台搭建