彻底了解|利用Apache CXF框架开发WebService

简介: 前言WebService是为了支持网络的机器间操作交互而设计用来开发分布式的交互操作的应用程序组件,通常被定义为一组模块化的API,他们可以通过网络进行调用,来执行远程系统的请求服务,而...

 image.gif

image.gif

前言

WebService是为了支持网络的机器间操作交互而设计用来开发分布式的交互操作的应用程序组件,通常被定义为一组模块化的API,他们可以通过网络进行调用,来执行远程系统的请求服务,而XML是WebService的基础。同时WebService中几乎所有的数据类型都是支持的。

CXF就是一个WebService的框架,在生产环境中一般情况下我们都使用框架来开发,这个框架简单的说就是将WebService的开发给简化了,而且还新增了拦截器。本文将带大家利用Apache CXF快速实现一个WebService。

公众号:「浅羽的IT小屋」

1. 首先介绍一下拦截器的使用

需求:我们需要知道客户端传递给服务端的数据格式长啥样,同时也需要知道服务端接收到客户端的数据长啥样?

「拦截器:」

    • 客户端的拦截器
    • 客户端的入拦截器
    • 服务端的出拦截器
    • 服务端的入拦截器
      • 要知道「客户端传递给服务端」的数据长啥样?用客户端的出拦截器
      • 要知道「服务端接收到客户端」的数据长啥样?用服务端的入拦截器
      • 要知道「数据」长啥样?我们的CXF中提供了日志拦截器

      「实现功能:」

      1:给客户端添加日志拦截器

      网络异常,图片无法展示
      |
      image.gif

      客户端传递给服务端的数据的格式

      image.gif

      2:给服务端添加入拦截器

      image.gif

      服务端接收到的信息如下

      image.gif

      ‍‍2、开发一个权限认证的WebService

      需求:只有用户是qianyu 密码是123 那么这个WebService才允许访问

      逻辑(选择客户端的出拦截器 来添加如下内容)

      网络异常,图片无法展示
      |
      image.gif

      「自定义拦截器的问题:」

      image.gif

      「自定义客户端的拦截器:」

      image.gif

      「自定义服务端的拦截器:」

      image.gif

      「在客户端和服务端添加这个自定义的拦截器:」

      image.gif

      「测试:」

      3. Spring整合CXF框架

      「导包:」

      网络异常,图片无法展示
      |
      image.gif

      「编写Server的配置文件:」

      image.gif

      「将cxf.jar文件进行解压 将下面文件copy到resource目录中:」

      image.gif

      「服务端的测试:」

      「在客户端导入包(跟上面一样):」

      「生成调用代码:」

      「编写客户端的配置文件:」

      image.gif

      「测试:」

      网络异常,图片无法展示
      |
      image.gif

      本篇利用Apache CXF框架开发WebService的介绍就先到这里结束了,后续会出更多关于WebService系列更多文章,谢谢大家支持!

      image.gif


      image.gif

      点个赞,证明你还爱我

      相关文章
      |
      3月前
      【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
      【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
      |
      19天前
      【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
      Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
      |
      1月前
      |
      存储 数据挖掘 数据处理
      Apache Paimon 是一款高性能的数据湖框架,支持流式和批处理,适用于实时数据分析
      【10月更文挑战第8天】随着数据湖技术的发展,越来越多企业开始利用这一技术优化数据处理。Apache Paimon 是一款高性能的数据湖框架,支持流式和批处理,适用于实时数据分析。本文分享了巴别时代在构建基于 Paimon 的 Streaming Lakehouse 的探索和实践经验,包括示例代码和实际应用中的优势与挑战。
      64 1
      |
      1月前
      |
      数据挖掘 物联网 数据处理
      深入探讨Apache Flink:实时数据流处理的强大框架
      在数据驱动时代,企业需高效处理实时数据流。Apache Flink作为开源流处理框架,以其高性能和灵活性成为首选平台。本文详细介绍Flink的核心特性和应用场景,包括实时流处理、强大的状态管理、灵活的窗口机制及批处理兼容性。无论在实时数据分析、金融服务、物联网还是广告技术领域,Flink均展现出巨大潜力,是企业实时数据处理的理想选择。随着大数据需求增长,Flink将继续在数据处理领域发挥重要作用。
      |
      2月前
      |
      前端开发 JavaScript Java
      Apache Wicket 框架:踏上从新手到英雄的逆袭之路,成就你的编程传奇!
      【9月更文挑战第4天】Apache Wicket是一款基于Java的开源Web应用框架,以简洁、易维护及强大功能著称。它采用组件化设计,让页面开发更为模块化。Wicket的简洁编程模型、丰富的组件库、良好的可维护性以及对Ajax的支持,使其成为高效开发Web应用的理想选择。下文将通过解析Wicket的基本概念与特性,帮助读者深入了解这一框架的优势。
      111 1
      |
      3月前
      |
      关系型数据库 MySQL Linux
      【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
      【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
      【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
      |
      3月前
      |
      Apache 开发者 Java
      Apache Wicket揭秘:如何巧妙利用模型与表单机制,实现Web应用高效开发?
      【8月更文挑战第31天】本文深入探讨了Apache Wicket的模型与表单处理机制。Wicket作为一个组件化的Java Web框架,提供了多种模型实现,如CompoundPropertyModel等,充当组件与数据间的桥梁。文章通过示例介绍了模型创建及使用方法,并详细讲解了表单组件、提交处理及验证机制,帮助开发者更好地理解如何利用Wicket构建高效、易维护的Web应用程序。
      46 0
      |
      3月前
      |
      Shell PHP Windows
      【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
      【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
      |
      3月前
      |
      Linux 应用服务中间件 网络安全
      【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
      【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
      |
      3月前
      【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
      【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因

      推荐镜像

      更多