WebSerice学习笔记2——XFire基础
? 1.XFire是codehaus推出的下一代的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).service:service 标签和它所包含的 xml 内容为发布成 Web 服务的 POJO 提供完整的描述。 (2).name:Web 服务被发布时所采用的唯一名称。 (3).namespace:Web 服务发布时所使用的命名空间。 (4).serviceClass:Web 服务接口类的全名,包括包名和类名。 (5).implemetationClass:Web 服务实现类的全名,包括包名和类名。 5.XFire传递复杂对象: 分两种情况: (1).客户端创建一个实现Remote接口的类,方法名、参数类型和返回值类型均与WebService服务相同,则传递自定义的复杂对象参数和返回值时不用特殊配置和处理。 注意:只适用于在自定义对象中传递List、Map、数组等的复杂对象。 (2).服务器端实现一个接口(非Remote接口),客户端通过该接口来调用WebService对象,则必须在服务器端接口同一目录下建立一个名为“服务端接口名.aegis.xml”文件,添加如下配置: ? 注意:适用于Map等传递自定义对象这种情况。 6.XFire的Handler: 一个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.XFire与Spring的集成(服务器端使用XFire导出器方式): (1).在web.xml中指定XFire和Spring的配置文件如下: ? (2).在Spring配置文件中导入XFire配置文件,配置要发布的服务: ? (3).在Spring中配置XFire导出器: ? (4).客户端Spring配置: ? 在客户端就可以像使用普通java对象一样使用被spring管理起来的web服务了。 9.XFire与Spring的集成(服务器端不使用XFire导出器方式): 和服务器端使用XFire导出器类似,不同之处在于配置发布的服务: ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |