Cxf - 基础和示例
来源:互联网 发布:自动画线源码 编辑:程序博客网 时间:2024/04/28 15:19
一、简介
WebService是一种跨平台、跨语言的规范。解决远程、跨平台、跨语言应用之间的调用。
二、框架
Axis --> Axis2(Apache,Web Service框架)
XFire --> CXF(Apache,SOA框架(XFire(Web Service框架) + Celtix(ESB(企业服务总线)框架)))
三、配置
下载CXFapache-cxf-2.7.10,在环境变量Path中添加D:\JavaIDE\apache-cxf-2.7.10\bin;
四、依赖
五、服务端
1、说明
(1)服务端添加Cxf相关的Jar
(2)每个Web Service组件需要两个部分,即接口和实现类
1、接口
接口需要使用java.jws.WebServie注解
import javax.jws.WebService;@WebServicepublic interface UserInfoWs { public String sayHello(String name); }
2、实现
实现类同样需要使用java.jws.WebService注解,同时还需要指定其endpointInterface即实现的接口和serviceName即Service的属性
import javax.jws.WebService;import com.xilen.cxf.ws.UserInfoWs;@WebService(serviceName="UserInfoWsImpl",endpointInterface="com.xilen.cxf.ws.UserInfoWs")public class UserInfoWsImpl implements UserInfoWs {@Overridepublic String sayHello(String name) {return name + ", Hello!";}}3、发布
通过内嵌Jetty服务器,调用javax.xml.ws.Endpoint的publish()方法发布WebService
import javax.xml.ws.Endpoint;import com.xilen.cxf.ws.UserInfoWs;import com.xilen.cxf.ws.impl.UserInfoWsImpl;public class ServerMain {public static void main(String[] args) {UserInfoWs hw = new UserInfoWsImpl();Endpoint.publish("http://192.168.1.100/cxf", hw);}}六、客户端
1、说明
客户端在简单调用的情况下,无需依赖任何Cxf的Jar
2、生成
客户端利用CXF中的wsdl2java工具,根据Server端的wsdl文档生成Web Service相关的Java代码
D:\Works\CxfClient\src>wsdl2java http://192.168.1.100/cxf?wsdl3、调用
import com.xilen.cxf.ws.UserInfoWs;import com.xilen.cxf.ws.impl.UserInfoWsImpl;public class ClientMain {public static void main(String[] args) {//在生成的Java类中继承javax.xml.ws.Service的类可作为工厂来使用UserInfoWsImpl factory = new UserInfoWsImpl();//通过工厂类实例来获取远程Web Service对象的代理UserInfoWs ui = factory.getUserInfoWsImplPort();//调用代理的方法实现远程调用System.out.println(ui.sayHello("Admin"));}}>4、结果
Admin, Hello!
0 0
- Cxf - 基础和示例
- 二、CXF 入门示例
- 二、CXF 入门示例
- CXF 基础教程-------入门示例
- 一、CXF 入门示例
- 二、CXF 入门示例
- CXF构件天气预报示例
- 二、CXF 入门示例
- CXF 使用示例
- cxf-webservice完整示例
- Git 使用基础和示例
- 第5章 Apache CXF的架构体系和基础
- Cxf 集成spring完整示例
- cxf spring 整合使用示例
- CXF+Spring+Tomcat简明示例
- CXF+Spring+Tomcat简明示例
- CXF+Spring+Tomcat简明示例
- CXF+Spring+Tomcat简明示例
- QT加载muPDF静态库的问题和解决(导入C语言静态库,QT的运行时库设定)
- ARM+Linux开发板不能挂载U盘问题
- placement new 的问题
- Oracle存储过程和包管理
- sql
- Cxf - 基础和示例
- HDU1874
- 栈(数组形式)实现_c++
- Oracle声明变量
- Lesson_for_java_day09--练习--继承、this、super的使用、使用构造方法赋初始值
- 黑马程序员_学习笔记第1天—java环境搭建和dos基本命令
- Oracle rownum
- cocos2d-x笔记(九)Lua开发飞机大战-3-背景图的滚动
- jnkhjklhb