Apache CXF

Spring boot 整合CXF webservice 全部被拦截的问题

元气小坏坏 提交于 2019-12-10 13:24:31
Spring Boot集成webService 服务端 使用idea创建spring boot工程: “File”→“New”→“Project”→“Spring Initializr”…… 在pom添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3

SpringBoot | 第三十三章:Spring web Servcies集成和使用

风格不统一 提交于 2019-12-09 22:01:38
前言 最近有个单位内网系统需要对接统一门户,进行单点登录和待办事项对接功能。一般上政府系统都会要求做统一登录功能,这个没啥问题,反正业务系统都是做单点登录的,改下 shiro 相关类就好了。看了接入方案,做坑爹的是需要业务系统提供一个 webService 服务,供统一平台调用。对于 ws 服务,是真的除了大学期间要去写个调用天气预报的作业后,就再也没有接触过了。查阅了 SpringBoot 文档后,发现确实有一章节是将 webService 的,所以,今天就来简单介绍下 Spring Web Service 的集成和使用吧。 一点知识 何为WebService Web Service 技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据 Web Service 规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。 简单的说,WebService就是一种跨编程语言和跨操作系统平台的远程调用技术。 WebServcie技术支持 以下内容摘自百度百科: Web Service Web Service 平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的 数据表示方法和类型系统 。要实现互操作性, Web Service 平台必须提供一套 标准的类型系统 ,用于沟通不同平台

SpringBoot | 第三十四章:CXF构建WebService服务

不羁的心 提交于 2019-12-09 21:38:52
前言 上一章节,讲解了如何使用 Spring-WS 构建 WebService 服务。其实,创建 WebService 的方式有很多的,今天来看看如何使用 apache cxf 来构建及调用 WebService 服务。 一点知识 何为Apache-CXF Apache CXF 是一个开源的 Services 框架, CXF 帮助您利用 Frontend 编程 API 来构建和开发Services,像 JAX-WS 、 JAX-RS 。这些 Services 可以支持多种协议,比如: SOAP 、 XML/HTTP 、 RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如: HTTP 、 JMS 或者 JBI , CXF大大简化了 Services 的创建,同时它可以天然地和Spring进行无缝集成 。 以下是官网给出的介绍: https://github.com/apache/cxf 最常用的是使用 cxf 开发 web-service 。本身是基于 JAX-WS 规范来实现的。当然,本身 CXF 也实现了 JAX-RS 规范来实现 RESTFul Service 。 关于JAX-WS规范 JAX-WS 全称: Java API for XML-Based Web Services 。 JAX-WS 是一种编程模型

Maven依赖构建版本冲突(实战cxf asm和cglib冲突)

℡╲_俬逩灬. 提交于 2019-12-05 05:48:11
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myServices2': Invocation of init method failed; nested exception is java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.AnnotationVisitor, but interface was expected Caused by: java.lang.IncompatibleClassChangeError: Found class org.objectweb.asm.AnnotationVisitor, but interface was expected 出现.IncompatibleClassChangeError异常了: 今天配置CXF2.4.2和spring4.0.2.RELEASE时一直再报: Error creating bean with name 'myServices2': Invocation of init method failed; nested exception is java.lang

RPC简介,及与web service的对比

*爱你&永不变心* 提交于 2019-12-05 04:18:50
  最近分析的这个系统,逻辑架构中有一层是RPC interface。之前对RPC不熟悉,就上网搜索了一下资料,在此总结一下:   RPC是Remote Procedure Calling,远程过程调用的缩写。并不是“远程进程调用”——Remote Process Calling。RPC总的来说是一个Client/Server的结构,提供服务的一方称为Server,消费服务的一方称为Client。   下图是本地过程调用,所有的过程都在本地服务器上,依次调用即可:   下图则是所谓的远程过程调用,需要在Client和Server中交互:   因此,两种调用方式,会产生什么区别呢? 网络传输的开销和编程的额外复杂性。 本地过程调用中,过程在同一块物理内存中,因此就可以传递指针了。而远程过程调用则不能,因为远程过程与调用者运行在完全不同的地址空间中。 远程过程不能共享调用者的环境,所以它就无法直接访问调用者的I/O和操作系统API。   简单来说,就是远程过程调用会比本地过程调用复杂。除了性能的额外开销之外,编程也复杂得多。   至少可以想到,交互双方需要能够封装数据结构,理解协议,处理连接等等,确实是很麻烦的。可能一个很简单的调用,却需要做很多的编程工作。所以,为了简化RPC调用的编程,就提出了一个RPC的标准模型。   下面是RPC的原理草图:   可以看到

webservice与springboot整合

非 Y 不嫁゛ 提交于 2019-12-02 06:49:52
1、pom.xml <!-- cxf支持 --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.6</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>3.1.6</version> </dependency> 因为项目中使用的springboot版本很老。所以没有使用cxf和springboot整合包 <!-- https://mvnrepository.com/artifact/org.apache.cxf/cxf-spring-boot-starter-jaxws --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>3.3.2</version> </dependency> 2、贴代码 webServiceConfig.java

webservice 客户端、服务端程序

末鹿安然 提交于 2019-12-01 14:12:35
webservice:主要实现跨平台的web数据通信 作用:假设存在两个业务系统,一个使用C++编写,另外一个使用Java语言编写,如果要实现两个不同的业务系统之间的数据通信就必须进行跨平台处理,互联网毫无疑问就是最好的连接平台。但是不同的业务系统之间进行通信,就必须制定双方都认可的规定:通信协议,webservice正式基于soap简单对象服务协议实现不同业务系统之间跨平台通信的. 跨平台通信技术 :Webservice、RMI等 webservice服务框架 :CXF/AXIS soap请求头 :simple object access protocol:简单对象访问协议 SOAP 消息必须用 XML 来编码 SOAP 消息必须使用 SOAP Envelope 命名空间 SOAP 消息必须使用 SOAP Encoding 命名空间 SOAP 消息不能包含 DTD 引用 SOAP 消息不能包含 XML 处理指令 SOAP消息组成 SOAP 消息就是一个普通的 XML 文档,包含下列元素: Envelope(必需):标识XML 文档为一条 SOAP 消息 Header(可选):包含头部信息:一般为消息指定某些特征信息:例如指定自定义标签过滤某些参数 Body(必需):包含所有的调用和响应信息 Fault(可选):提供有关在处理此消息所发生错误的信息 xmlns:soap xml

Apache CXF 和 Spring 开发 Web Service 1

霸气de小男生 提交于 2019-11-27 03:52:04
正文 为什么使用CXF 本文段摘录自 http://www.ibm.com/developerworks/cn/webservices/ws-pojo-springcxf/index.html Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上,例如 Jboss、IBM® WebSphere® 或 BEA WebLogic。 功能 该框架提供了以下功能: Web 服务标准支持:CXF 支持以下 Web 服务标准: Java API for XML Web Services (JAX-WS) SOAP Web 服务描述语言(Web Services Description Language ,WSDL) 消息传输优化机制(Message Transmission Optimization Mechanism,MTOM) WS-Basic Profile WS-Addressing WS-Policy WS-ReliableMessaging WS-Security 前端建模 :CXF 提供了前端建模的概念,允许您使用不同的前端 API 来创建 Web 服务。API 允许您使用简单的工厂 Bean