linux cxf服务端,Apache CXF 框架应用实战
一、概述
Apache CXF提供了用于方便地构建和开发WebService的可靠基础架构。它允许创建高性能和可扩展的服务,可以部署在Tomcat和基于Spring的轻量级容器中,也可以部署在更高级的服务器上,例如Jboss、WebSphere或WebLogic。 CXF提供了以下功能:
WebService服务标准支持:
Java API for XML Web Services (JAX-WS)
SOAP
WebService描述语言(Web Services Description Language ,WSDL)
消息传输优化机制(Message Transmission Optimization Mechanism,MTOM)
WS-Basic Profile
WS-Addressing
WS-Policy
WS-ReliableMessaging
WS-Security
前端建模:CXF允许使用不同的前端API来创建Service。如CXF允许使用简单的工厂Bean并通过JAX-WS实现来创建WebService,允许创建动态WebService客户端。
工具支持:CXF提供了在Java Bean、WebService和WSDL之间进行转换的工具,提供了对Maven和Ant集成的支持,并无缝地支持Spring集成。
RESTful支持:CXF支持Restful,并支持Java平台的JAX-RS实现。
对不同传输和绑定的支持:CXF支持不同数据类型的传输,除了支持SOAP和HTTP协议绑定外,还支持JAXB和AEGIS绑定。
对非XML绑定的支持:CXF支持非XML绑定,如JSON、CORBA、JBI和SCA等。
Code First和Xml First:CXF支持使用Code First或者Xml First的方式创建WebService。
二、使用CXF内置jetty发布WebService
maven:
3.1.4
org.apache.cxf
cxf-rt-frontend-jaxws
${cxf.version}
org.apache.cxf
cxf-rt-transports-http
${cxf.version}
org.apache.cxf
cxf-rt-transports-http-jetty
${cxf.version}
---
接口:
@WebServicepublic interfaceHelloService{publicString helloCxf();publicString hello(String name);publicUser getUser(int id);public voidsaveUser(User user);
}
实现:
@WebService(serviceName = "helloService",
endpointInterface= "cn.lg.ws.hellocxf.HelloService")public class HelloServiceImpl implementsHelloService{
@OverridepublicString helloCxf(){return "Hello CXF!";
}
@OverridepublicString hello(String name)
{return "Hello " +name;
}@OverridepublicUser getUser(int id) {
User u1= newUser();returnu1;
}
@Overridepublic voidsaveUser(User user) {
System.out.println(user.toString());
}
}
发布:
public classPublishService{/*** 使用CXF的JaxWsServerFactoryBean发布服务
*@param
*/
public static voidmain(String[] args) {
JaxWsServerFactoryBean factory= newJaxWsServerFactoryBean();
factory.setServiceClass(HelloService.class);//服务发布地址
factory.setAddress("http://localhost:8088/soap/hello");
factory.setServiceBean(newHelloServiceImpl());
factory.create();
System.out.println("publish success");
}
}
使用浏览器访问 http://localhost:8088/soap/hello?wsdl 可以看到wsdl如下,则说明发布成功
使用CXF在客户端调用WebService:
public classClientTest{public static voidmain(String[] args) {
JaxWsProxyFactoryBean jwpfb= newJaxWsProxyFactoryBean();
jwpfb.setServiceClass(HelloService.class);
jwpfb.setAddress("http://localhost:8088/sop/hello");
HelloService hs=(HelloService) jwpfb.create();
System.out.println(hs.getUser(101));Q.p(hs.hello("luangeng"));
}
}
---
相关类可通过以下命令产生:
wsimport -p com.ickes.cxf.client -keep http://localhost:8088/sop/hello?wsdl
Apache CXF 的详细介绍:请点这里
Apache CXF 的下载地址:请点这里
linux cxf服务端,Apache CXF 框架应用实战相关推荐
- cxf 服务端soap报文_使用Apache CXF开发SOAP Web服务
cxf 服务端soap报文 在上一篇文章中,我逐步介绍了使用apache CXF开发简单的RESTFull服务的步骤. 在本文中,我将讨论使用CXF开发SOAP Web服务. 在继续前进之前,让我们先 ...
- java cxf服务端代码_【JAVA】 cxf 生成 webservice 服务端代码
CXF Apache CXF = Celtix + XFire.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding . ...
- SpringBoot2 整合 CXF 服务端和客户端
文章目录 一.CXF服务端 1. 导入依赖 2. 创建service接口 3. 接口实现类 4. cxf配置类 5. 查看wsdl结果 二.CXF客户端 2.1. 客户端 2.2. 断点调试 2.3. ...
- 《Linux多线程服务端编程:使用muduo C++网络库》书摘6.6.2节
6.6.2 常见的并发网络服务程序设计方案 W. Richard Stevens 的<UNIX 网络编程(第2 版)>第27 章"Client-ServerDesign Alte ...
- 《Linux多线程服务端编程:使用muduoC++网络库》学习笔记
文章目录 第1章 线程安全的对象生命期管理 1.1 当析构函数遇到多线程 1.1.1 线程安全的定义 1.1.3 线程安全实例 1.2 对象的创建很简单 1.3 销毁很难 1.4 线程安全的Obser ...
- 新书预告:《Linux 多线程服务端编程——使用 muduo C++ 网络库》
看完了 W. Richard Stevens 的传世经典<UNIX 网络编程>, 能照着例子用 Sockets API 编写 echo 服务, 却仍然对稍微复杂一点的网络编程任务感到无从下 ...
- Linux多线程服务端编程学习(四)finger服务的实现
源码下载以及安装点击链接https://blog.csdn.net/YoungSusie/article/details/90021742 分类 Muduo网络库编程 学习笔记 例 七步实现finge ...
- nuxt2,服务端渲染应用框架, 从创建开发到部署上线
文章目录 前言 一.创建一个nuxt项目 二.目录解读 三.新建页面,路由跳转 四.组件的使用 五.插件的使用 六.异步数据和代理,nuxt中使用axios和proxy代理 七.nuxt Seo优化 ...
- linux cxf服务端,cxf linux问题
请各位大神原谅我在nutz上问这个问题..... Mar 28, 2016 4:56:46 PM org.apache.cxf.wsdl.service.factory.ReflectionServi ...
- cxf restful_使用Apache CXF开发RESTful服务
cxf restful 介绍 如您所知,有两种开发Web服务的方法 简单对象访问协议(SOAP) 代表性状态转移(REST) 在继续学习如何使用Apache CXF创建基于REST的Web服务之前,我 ...
最新文章
- iexpress全力打造“免检”***
- B站上线斯坦福最新「机器学习系统(MLSys)」全集,小伙伴有福了!
- 愚人节“整人”小心被病毒“整”
- 5加载stm32 keil_「keil」嵌入式STM32开发环境之Keil5的安装(附资源) - 金橙教程网
- 生成自签名ssl证书
- linux socket使用情况 ss -s ss -t -a | cat /proc/net/socketstat
- Magento教程 20:仅限会员留言的产品评论设定!
- Oracle 10g OCP 官方培训
- jrtplib库移植到android上
- SCAU高级语言程序设计--实验6 循环结构(二)(1)
- Edge浏览器快捷键
- 如何在Mac电脑上打开终端
- java Base64带秘钥的加密解密
- 智慧果园系统——以水肥一体化系统功能为基础实现智慧果园系统项目 需求文档
- CN基于词库的中文转拼音优质解决方案,单类单文件版,支持低版本PHP
- 95年有g510台式计算机吗,台式电脑太老了换cpu能行吗?
- Facebook如何安全度过新账号阶段不被封号
- 聊天功能,实现:每增加一条消息整体往上移动,滚动查看聊天记录
- linux中cp命令详解
- 在windows11环境下如何通过主机名ping通其它系统