CXF

CXF简介与配置

CXF介绍

  • CXF是一个开源的Web服务框架,提供了一系列成熟的功能,有助于快速开发Web服务应用。
  • CXF支持的协议:SOAP 1.1/1.2,RESTful
  • CXF支持的数据格式:XML和JSON
  • CXF具有高性能和直观易用的特点,同时也具有良好的可扩展性。

CXF的安装与配置

  1. 安装与环境准备
    • 安装JDK,建议使用版本1.7及以上。
    • 解压缩CXF压缩包至指定目录,并设置CXF_HOME环境变量指向该目录。
    • 将CXF_HOME添加到系统PATH中。
    • 测试安装成功,通过命令行输入wsdl2java -h查看帮助信息。

发布CXF SOAP协议服务

服务端发布

  • 引入必要的CXF相关jar包。
  • 创建服务的SEI(Service Endpoint Interface)接口,并使用@WebService注解标注。
  • 实现SEI接口。
  • 使用JaxWsServerFactoryBean发布服务,设置三个关键参数:
    • 服务接口(setServiceClass
    • 服务实现类(setServiceBean
    • 服务地址(setAddress
  • 测试服务是否成功发布。

客户端调用

  • 引入所需的CXF jar包。
  • 使用wsdl2java或类似的工具生成客户端代码。
  • 使用JaxWsProxyFactoryBean创建客户端代理,设置服务接口和服务地址。
  • 初始化代理实例,并调用服务端的方法。

CXF与Spring整合发布SOAP服务

  • 创建Web项目并引入CXF所需jar包。
  • 创建SEI接口和其实现类。
  • 在Spring配置文件applicationContext.xml中配置CXF服务,使用<jaxws:server>标签。
  • 配置web.xml,包括Spring监听器和CXF的Servlet。
  • 将项目部署到Tomcat服务器并启动Tomcat。
  • 通过WSDL地址测试服务是否发布成功,格式通常是http://ip:端口号/项目名称/servlet拦截路径/服务名称?wsdl

发布SOAP 1.2服务

  • 若要发布SOAP 1.2服务,在接口上添加注解@BindingType(SOAPBinding.SOAP12HTTP_BINDING)

拦截器

  • 拦截器可以在请求和响应时进行拦截。
  • 可以添加多个拦截器,根据需要自定义拦截逻辑。
  • 在服务端发布前,将自定义的拦截器加入到服务的拦截器列表中。

客户端使用示例

  • 使用wsdl2java工具生成客户端代码,指定输出目录和包名。
  • 使用JaxWsProxyFactoryBean创建客户端代理:
    JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
    jaxWsProxyFactoryBean.setServiceClass(WeatherInterface.class);
    jaxWsProxyFactoryBean.setAddress("http://127.0.0.1:12345/weather");
    
    WeatherInterface weatherInterface = jaxWsProxyFactoryBean.create(WeatherInterface.class);
    String weather = weatherInterface.queryWeather("保定");
    System.out.println(weather);
    

    原文链接 https://www.hanyuanhun.cn | https://node.hanyuanhun.cn

posted @   汉源魂  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示