Apache CXF WebService

1 简介

webservice即web服务,它是跨语言、跨操作系统的远程调用技术。Apache CXF WebService插件包就是该技术的实现方式之一;整合到springboot项目中使用Apache提供的starter插件包。三种webservice规范:JAX-WS、JAXM、JAX-RS。

Soap协议

它是交换报文的xml协议

WSDL文件

它是soap的xml协议描述,让开发人员能看懂接口

UDDI架构

2 原生ws和rs规范用法

X.1 JAX-WS规范

服务端

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>3.2.4</version>
        </dependency>

对外服务接口

 对外服务接口实现

发布

添加ApacheCXF服务端日志拦截器,查看基于soap协议客户端请求服务端的请求参数和响应参数

访问wsdl说明书

客户端 

使用jdk接口代理方式模拟调用

添加ApacheCXF客户端日志拦截器,查看基于soap协议客户端请求服务端的请求参数和响应参数

JAX-WS底层原理 

 通过soap将客户端请求报文转化为xml格式,服务端接收后将xml转成本服务的对象格式;响应的流程反之。即服务与服务之间入为对象,出为xml。

X.2 JAX-RS规范

服务端

接口

//服务端实体类,用于接收参数

 

 实现

实现和wm的一样,拷过来即可

发布


客服端 

//客户端实体类,用于发送xml参数

  

服务端和客服端都必须加如下json转换包

服务端 

客服端

 服务端日志

 客户端成功接收数据

3 springboot整合Jax-ws和Jax-rs

上面的方式属于使用Netty/Tomcat作为web服务器实现跨平台/跨语言的接口调用,用的是原生的插件包apache cxf;下面就介绍使用Tomcat作为web服务器的调用方式,唯一区别是下面使用的插件包是Apache为springboot提供的starter

X.1 Jax-ws

服务端

服务端和之前的写法一样,只是访问是默认必须加上services路径。

发布

 上面的发布类似于之前的下面这些发布,不过上面这个用于springoot项目

客户端 

客户端没怎么变化,只是改下访问地址。

 

 

X.2 Jax-rs

服务端

接口和实现类与上面的 ”3.2json格式” 差不多直接拷过来。

发布

将服务发布到endpoint 

客服端

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不努力谁会可怜你?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值