WebSerice学习笔记2——XFire基础

原创 2011年01月17日 16:12:00

 

1.XFirecodehaus推出的下一代的java SOAP框架,通过提供的简单的API和支持标准协议,可以方面地开发webservice程序。XFire最大的特点就是支持将POJO通过非常简单的方式发布为WebService,同时还拥有很高的性能。

2.XFire POJO 发布成 Web 服务的基本步骤:

(1).创建 Web 服务接口,声明该 Web 服务对外暴露的接口;

(2).创建 Web 服务实现类,为 Web 服务接口提供实现;

(3).修改 XFire 框架的服务发布文件 ---- services.xml,将 POJO 发布成 Web 服务。

3.简单的XFire开发过程:

(1).web.xml中加入如下配置:

 

(2).创建services.xml文件,加入如下配置:

 

4.XFire配置文件元素:

(1).serviceservice 标签和它所包含的 xml 内容为发布成 Web 服务的 POJO 提供完整的描述。

(2).nameWeb 服务被发布时所采用的唯一名称。

(3).namespaceWeb 服务发布时所使用的命名空间。

(4).serviceClassWeb 服务接口类的全名,包括包名和类名。

(5).implemetationClassWeb 服务实现类的全名,包括包名和类名。

5.XFire传递复杂对象:

分两种情况:

(1).客户端创建一个实现Remote接口的类,方法名、参数类型和返回值类型均与WebService服务相同,则传递自定义的复杂对象参数和返回值时不用特殊配置和处理。

注意:只适用于在自定义对象中传递ListMap、数组等的复杂对象。

(2).服务器端实现一个接口(Remote接口),客户端通过该接口来调用WebService对象,则必须在服务器端接口同一目录下建立一个名为“服务端接口名.aegis.xml”文件,添加如下配置:

 

注意:适用于Map等传递自定义对象这种情况。

6.XFireHandler

一个Handler可以看成是XFire的一个加工套件,XFire通过它们定义SOAP发送和接收之前的各种加工处理逻辑。如Handler可以对SOAP体的内容进行加工处理,或者SOAP头进行处理。

(1).编写自定义Handler

继承AbstractHandler类。

(2).服务器配置Handler

services.xml文件中加入如下配置:

<scope>元素标签之下加入:

 

(3).客户端Handler的配置:

 

7.文件上传处理:

(1).将文件用DataHandler包装后传递到服务器端。

(2).服务器端根据得到的DataHandler对象.getInputStream()得到文件输入流,将其写到服务器端。

(3).SOAP消息进行MTOM编码。

 

(4).对输入输出流指定UTF-8字符集:

 

(5).在对应的services.xml文件中,上传文件的Service必须添加如下的Property

 

8.XFireSpring的集成(服务器端使用XFire导出器方式)

(1).web.xml中指定XFireSpring的配置文件如下:

 

(2).Spring配置文件中导入XFire配置文件,配置要发布的服务:

 

(3).Spring中配置XFire导出器:

 

(4).客户端Spring配置:

 

在客户端就可以像使用普通java对象一样使用被spring管理起来的web服务了。

9.XFireSpring的集成(服务器端不使用XFire导出器方式)

和服务器端使用XFire导出器类似,不同之处在于配置发布的服务:

 

 

xfire 参数对象 命名空间的问题

重构代码之后,发现在C#调用Java接口时,对象里的属性值全是null,历经破折才发现是命名空间的问题。C#使用的是之前的默认命名空间,所以在重构后,命名空间发生了变化,导致传值为null,这也是内外...

使用XFire调用WebService需注意的事项

使用XFire调用WebService需注意的事项 (一):注意过滤输入和输出参数空白字符 如果出现空白字符解析不了导致调用失败,导致下面的异常: org.codehaus.xfire.faul...

关于 SSL加密协议 及 CA 证书

SSL,对于很多人来说,只是听说过而已,实际应用遇到相对比较少。很不幸,在我试图配置 IIS6 + SSL,遇到了一些麻烦,在试过许多网上的方法后,问题却依然存在。在一番费时费力的网络资料搜索后,有点...

XFire中的Handler处理

完整版见https://jadyer.github.io/
  • jadyer
  • jadyer
  • 2010年12月28日 19:22
  • 2034

WebSerice学习笔记2——XFire基础

1.XFire是codehaus推出的下一代的java SOAP框架,通过提供的简单的API和支持标准协议,可以方面地开发webservice程序。XFire最大的特点就是支持将POJO通过非常简单的...

WebSerice学习笔记1——WebSerice基础

1.WebService的主要标准和技术:SOAP:简单对象访问协议。UDDI:通用描述、发现和集成。WSDL:Web服务定义语言。ebXML:电子商务XML。2.WebService基本操作模型:3...

C语言学习笔记——基础知识篇

  • 2009年02月13日 12:44
  • 287KB
  • 下载

WebService学习笔记5——AXIS2基础

1.AXIS2简介: Apache Axis2项目是一个基于Java语言的Web services系统服务和客户端的实现。为了从Apache Axis 1.0中获取教训,Apache Axis2提供...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WebSerice学习笔记2——XFire基础
举报原因:
原因补充:

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