CXF内容总结

原创 2016年05月31日 10:37:16

CXF = XFire(webservice框架) + Celtrix(ESB框架)
http://cxf.apache.org/
内置jettyweb服务器

服务器端:
1.开发webservice接口,要用@webservice注解;
2.定义实现类,要用@WebService注解,并指定参数;
3.发布webservice(必要jar包:servlet,jetty) ;

客户端:
1.调用cxf的wsdl2java工具,根据wsdl文档生成java代码;
2.找到wsdl2java生成的java代码中继承了service的类,该类的实例可作为工厂;
3.调用getport方法,可返回webservice代理;

形参返回值为复杂类型,list集合,数组等时cxf都可以处理
还是一些map,非java式的复合类,处理不了
在实际的项目中,webservice组件自己并不会去实现业务功能,它只是调用业务逻辑组件的方法来暴漏webservice

在cxf开发中,如果遇到系统无法自动处理的类型,自行解决,处理思路就是提供一个转换器。
(1)使用@xmljavatypeadapter(….class) extends xmlapapter修饰cxf无法处理的类型。使用该注解时,通过value属性指定一个转换器。
(2)实现自己的转换器。转换器负责他们之间的转换。

xml里面的两个属性
targetNamespace 相当于java语言里面的package
xmlns 相当于java语言的import

一次webservice的调用,其实并不是方法的调用,而是发送soap消息(xml文档片段)
对于sayHi来说
传入消息是:

字符串

传出消息是:

字符串

对于getCatByUser操作来说
传入消息是:


字符串
整数字符串字符串


传出消息是:


字符串整数值字符串

调用一次webservice的本质:
1.客户端把调用方法参数,转换为xml文档片段(soap消息)。
2.通过网络,把xml文档片段传给服务器。
3.服务器接收xml文档片段。
4.服务器解析xml文档片段,得到webservice所需的参数。
5.服务器执行方法。
6.把执行方法得到的返回值,在此转换为xml文档片段。
7.通过网络,把xml文档给客户端。
8.客户端接收到xml。
9.客户端解析xml文档片段,提取数据。

一个语言要支持webservice
要求,该语言支持xml文档解析,生成,支持网络传输。

webservice 需要解决的问题,如何进行权限控制?
服务器端要求input消息总是携带用户名和密码。

如果不用cxf框架,soap消息的生成与解析都是由程序员负责的,但此时需要cxf框架来完成,cxf提供了拦截器。
客户端和服务器端都有两种拦截器
in拦截器
out拦截器

服务器端添加拦截器
1.获取endpoint的publish方法返回值。
2.调用该方法返回值的getininterceptor,getoutinterceptor方法来获取in,out拦截器列表,接下来添加拦截器。

自定义拦截器
需要实现interceptor接口,实际上是继承其一个实现类。

客户端添加拦截器

hibernate.cxf.xml 配置文件 解决 内容必须匹配 "(property*,mapping*,(classcachecollectioncache)*,event*,listener*)

原网页地址:http://www.lxway.com/9144556.htm 这两天想看看hibernate的东西,就跟着官网教程自己做,被官网网页上的配置文件给坑了。有两个注意的地方,如果是按照官网...
  • mht1829
  • mht1829
  • 2016年10月27日 20:30
  • 130

cxf实现webservice全面总结

  • 2012年11月22日 10:05
  • 182KB
  • 下载

CXF实践中异常总结【记录收藏篇】

CXF发布WebService以及调用WebService,网上有很多实践的demo。但是根据网上的 demo不断实践,熟练掌握CXF的使用,以及总结开发CXF的异常。 CXF发布服务,有三...

通过Apache CXF采集数据时多线程请求的性能总结

1,简介  Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。可以使用Apache CXF提供一些WebService服务。Apache CXF可...

WebService技术总结(四):CXF入门级应用

Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services, 像 JAX-WS 。这些 Services 可以支持多...

CXF开发总结

CXF开发总结(3种模式)基于SOAPServer端开发 导包,下载cxf包,地址http://cxf.apache.org/,导入eclipse 为web service服务提供类定义一个接口,比如...

webservices——发布CXF的方法总结!!!

注意:jar包还是*.jar哦!!!   先说发布的方法总结!   第一种:用一个j2se的main方法来发布   [java] view plainc...

webService总结(二)——使用CXF手动发布webService(不使用Spring)

上篇博客:webService总结(一)——使用CXF发布webService(不使用Spring) 介绍了不使用Spring自动发布webService,这篇博客介绍第二种方法——使用CXF手动...

WebService技术总结(五):CXF整合Spring开发

首先说说CXF和Spring整合以后的感谢,在客户端调用方便了很多,和Spring紧密结合,获取SEI和普通的bean一样,不用再去写一大堆代码,实在很省心!言归正传,接下来开始演示步骤服务端代码1....

java开发webservice的几种方式[待总结:cxf、xfire、axis2]

文章来源:http://langgufu.iteye.com/blog/2087116 java开发webservice的几种方式(转载) 博客分类:  Web Se...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CXF内容总结
举报原因:
原因补充:

(最多只允许输入30个字)