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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值