Xfire的Webervice远程调用.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Xfire的Webervice远程调用

基于XFIRE的Web Service远程调用 sccl产品五部 blue 总体框架 如果服务端(WEB SERVICE的服务提供方)和客户端(WEB SERVICE的服务调用方)都是我们可以控制的JAVA系统,那么可以按照以上思路设计,方便开发和调用。主要分成以下几部分: 公用端 公用端就是上图中的接口API和数据API,主要负责统一服务端和客户端要传递的DTO数据和统一JAVA调用接口。 服务端 服务端直接在业务层上包装,不用重复开发。 客户端 客户端通过统一的接口API和数据API和服务端交互。 XFIRE的公用端 公用端主要包含以下几部分内容: 接口API:JAVA的interface,这部分内容可以在开发初就商定,服务端按照该接口开发,客户端按照该接口来调用。这个接口可以是我们业务层接口的一个子集,当然我们可以轻松的将我们SPRING上配置的业务方法提供成为WEB SERVICE接口,但是有些危险接口(比如:删除用户,删除用户历史记录等业务操作接口),我们不希望将他们提供成为WEB SERVICE接口。所以我们用这个接口API做了一个转换和包装。只有在这个接口包中定义的API,我们才提供出来成为WEB SERVICE。 数据API:所谓数据API就是WEB SERVICE在传递过程中要传递的JAVA序列化对象,平时常说的DTO。它和平时的数据库POJO的不同时,有时你传递一个USER对象,其实并不是所有USER的成员属性都是调用方想获取的,或者说出于安全性保密考虑,并不是所有的USER成员属性都是你想提供的给别人调用的。所以在接口上传递的不是POJO,而是转化过来的DTO。 在例子中的代码easyremoteapi项目,就是用来生成这个API模块的,项目最早就要产出这个jar包,提供给服务端和客户端共同使用,这样即不会影响两边的开发进度,也统一了接口和参数。 接口API代码erfaces.UserService 定义了如下示例接口 public interface UserService { public ListIUser getAll(); public IUser get(Integer id); public void remove(Integer id); } 请注意在定义WEB SERVICE接口时候,List请指明里面的对象类型,使用JDK1.5的特性。 数据API代码com.sillycat.core.webservice.model.IUser 定义了如下示例成员变量 public class IUser implements Serializable { private static final long serialVersionUID = 1993559722178981779L; private Integer id; private String name; private String email; … 省略了后面的getter和setter方法。 需要注意DTO需要继承自Serializable接口,为了区别自己系统中的POJO的User对象,所以这里用了IUser,表名interface user的意思。 XFIRE的服务端 服务端,由于我们使用了spring和xfire集成来实现WEB SERVICE,所以很简单。只需要引入正确的JAR包,同时导入我们先前定义的公用端的JAR包。 在示例项目easyserver中,我们用到的XFIRE,需要导入的JAR包是 dependency groupIdorg.codehaus.xfire/groupId artifactIdxfire-all/artifactId version1.2.6/version /dependency dependency groupIdxalan/groupId artifactIdxalan/artifactId version2.7.1/version /dependency 在配置文件中引入XFIRE的基本配置 import resource=classpath:org/codehaus/xfire/spring/xfire.xml / bean id=baseWebService class=org.codehaus.xfire.spring.remoting.XFireExporter lazy-init=false abstract=true property name=serviceFactory ref=xfire.serviceFa

文档评论(0)

whemm + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档