03.WebService_CXF

03.WebService_CXF

一、什么是CXF?

Apache CXF = Celtix + Xfire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF。Apache CXF 是一个开源的 web Services 框架,CXF 帮助您构建和开发 web Services ,它支持多种协议,比如:SOAP1.1,1,2 XML/HTTP、RESTful 或者CORBA。

RESTful: 一种风格而不是一个协议。它理念是网络上的所有事物都被抽象为资源,每个资源对应一个唯一的资源标识符。

Cxf是基于SOA总线结构,依靠spring完成模块的集成,实现SOA方式。

灵活的部署: 可以运行在Tomcat,Jboss,Jetty(内置),weblogic上面。

环境变量的配置

CXF_HOME: 安装目录。

Path: bin目录。

二、使用CXF发布jax-ws规范的WebService

1.服务端

第一步: 创建一个java工程

第二步: 导入cxf的jar包。138个

第三步: 编写SEI接口。需要在SEI接口上添加@Webservice注解。

第四步: 编写SEI实现类。不需要加注解。

第五步: 发布服务

1、创建一个JaxWsServerFactoryBean对象

2、设置SEI接口setServiceClass

3、设置SEI实现类对象。setServiceBean

4、设置服务发布地址。setAddress

5、发布服务。Create

POJO

SEI

SEI实现类

发布服务

查看服务

2.wsdl3java命令

3.客户端开发

(1)传统客户端开发

结果:

日期: 2016-07-27 最高温度: 30 最低温度: 20 天气信息: 北京: 今天很热 ============================================ 日期: 2016-07-28 最高温度: 31 最低温度: 21 天气信息: 北京: 今天小雨 ============================================ 日期: 2016-07-29 最高温度: 32 最低温度: 22 天气信息: 北京: 今天大雨 ============================================

(2)使用CXF实现客户端

步骤:

1、导入cxf的jar包

2、创建一个JaxWsProxyFactoryBean对象

3、设置一个PortType的class。

4、设置一个address。服务端的url包括ip及端口。

5、调用create方法生成PortType代理对象。

6、调用服务端方法

7、打印结果。

结果:

日期: 2016-07-27 最高温度: 30 最低温度: 20 天气信息: 上海: 今天很热 ============================================ 日期: 2016-07-28 最高温度: 31 最低温度: 21 天气信息: 上海: 今天小雨 ============================================ 日期: 2016-07-29 最高温度: 32 最低温度: 22 天气信息: 上海: 今天大雨 ============================================

越努力,越幸运!

本文分享自微信公众号 - Java帮帮(javahelp),作者:奋斗蒙

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Quartz数据库表分析【面试+工作】

    共11张表,前6张都是关于各种triggers的信息,后面包括job,悲观锁,调度状态等信息;相关表操作在类StdJDBCDelegate中,相关sql语句在S...

    Java帮帮
  • Web-第十五天 Ajax学习【悟空教程】

    在实际开发中,完成注册功能前,如果用户填写用户信息,准备填写其他信息时,将提示当前用户的用户名是否可用。效果图如下:

    Java帮帮
  • Java虚拟机内存模型【小白版】

    同样的java代码在不同平台生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集是不同的。

    Java帮帮
  • 玩转webpack(一)上篇:webpack的基本架构和构建流程

    在研究了一段时间的 webpack 源码之后,自己希望写个系列文章,结合自己的实践一起来谈谈 webpack 插件这个主题,也希望能够帮助其他人更全面地了解。

    小时光
  • 【TS】612- 了不起的 tsconfig.json 指南

    在 TypeScript 开发中,tsconfig.json 是个不可或缺的配置文件,它是我们在 TS 项目中最常见的配置文件,那么你真的了解这个文件吗?它里面...

    pingan8787
  • 了不起的 tsconfig.json 指南

    在 TypeScript 开发中,tsconfig.json 是个不可或缺的配置文件,它是我们在 TS 项目中最常见的配置文件,那么你真的了解这个文件吗?它里面...

    pingan8787
  • 【协议森林】2. 以太网(Ethernet)协议与WiFi

    我们在邮差与邮局中说到,以太网和WiFi是链路层的两种协议。在链路层,信息以帧(frame)为单位传输。帧像信封一样将数据(payload)包裹起来,并注明收信...

    用户5745385
  • HttpClientFactory的套路,你知多少?

    ASP.NET Core 在 2.1 之后推出了具有弹性 HTTP 请求能力的 HttpClient 工厂类 HttpClientFactory。

    小码甲
  • Spring Aop之Jdk代理实现原理详解

    Jdk代理,也称为动态代理,其代理目标对象的方式是生成一个与目标对象实现同一个接口的类,该类的构造函数中会传入一个InvocationHandler类型的对象...

    田维常
  • 车(ju)一步吃卒

    题目: 在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”...

    OPice

扫码关注云+社区

领取腾讯云代金券