微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WebService学习(十二)——cxf使用案例调用天气

一、什么是CXF?

     Apache CXF = Celtix + Xfire,开始叫 Apache Celtixfire,后来更名为 Apache CXF 了,以下简称为 CXF。Apache CXF 是一个开源的 web Services 框架,CXF 帮助您构建和开发 web Services ,它支持多种协议,比如:SOAP1.1,1,2 XML/HTTPRESTful 或者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

image

 

SEI

image

 

SEI实现类

image

 

发布服务

image

 

查看服务

image

 

2.wsdl3java命令

image

image

 

3.客户端开发

(1)传统客户端开发

image

结果:

日期: 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、打印结果。

image

结果:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐