webservice接口实现过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说明:该文档以电子路演系统与ECM的WebService集成为例
创建服务端
一、搭建测试环境
1 新建web工程OARSInterface,引入jar包
将“E:\zhaodongmei\ECM\OARSandECM\IntegrationInterfaceCode\测试代码\WebService\WebJarFiles”目录下的jar包引入。
引入的具体jar包如下:activation.jar;apache_soap-2_3_1.jar;axis.jar;axis-ant.jar;CEOperterMonitor.jar;CEService_IIOP.jar;commons-collections-3.2.jar;commons-discovery-0.2.jar;commons-fileupload-1.2.1.jar;commons-io-1.3.2.jar;commons-logging-1.0.4.jar;dom4j-1.6.1.jar;dom4j-1.6.1.jar;jaxen-1.1.1.jar;jaxrpc.jar;log4j-1.2.8.jar;mail.jar;saaj.jar;wsdl4j-1.5.1.jar。其中可选包(发布服务及生成客户端程序是要用到的):activation.jar;mail.jar。
2 配置web.xml文件
参照E:\zhaodongmei\ECM\OARSandECM\IntegrationInterfaceCode\测试代码\WebService\客户端测试项目\OARSTest\WebRoot\WEB-INF\ web.xml进行配置,不需要进行修改
二、接口开发
在开发之前,我们先介绍与接口实现相关的两个jar包:CEOperterMonitor.jar和CEService_IIOP.jar。
CEOperterMonitor.jar:实现的是对接口操作的监控。当电子路演系统调用我们的接口进行上传、下载、修改和删除操作时,可以在监控系统的数据库中查看到相关的操作记录。CEService_IIOP.jar:主要的功能是提供对文件夹或文件进行操作的各个接口供本文档中接口的开发时调用。当该jar包中的函数不能满足开发的需要时,可以对该jar包进行修改,即重写某些方法。
1 编写服务端程序src/services.OARSService/ OARSService.java
在该Java类中实现了10个方法:OARSService();getProperties(String filename);uploadRSFile( DataHandler file,Map
下面分别介绍这些函数的功能:
①OARSService():构造函数,主要实现的功能是从OARS.config中取得参数值。并在
log文件中输出这些参数值。
②getProperties(String filename):读取配置文件,定义一个打开文件的变量,并
通过这个变量加载文件内容。
③uploadRSFile( DataHandler file,Map
通过迭代器遍历参数的key值,然后实例化通过XML解析类(XMLParser)并调用该类中的初始化方法initDocumentParams()实现参数的初始化,并将文件参数封装到map中,最后调用CEService的uploadFile(path, fileName, file, documentParams, "OARSDocument")方法,将结果赋给文件ID并返回。
④deleteRSFile(String documentId):删除文件。由于当文件被删除时,伴随它的权
限也会被删除,所以要先调用权限管理类中的removePermInfoForDeleteFileLogical(documentId)方法,将其权限删除,如果权限删除成功,再调用CEService 的deleteDocument(documentId)方法,将文件删除。
⑤downloadRSFile(String documentId):下载文件。调用CEService的
getDocByID(documentId)方法,返回值为DataHandler类型的文件流。
⑥updateFileProperyAndPermission(DataHandler xmlFile):修改文件属性及权
限信息。首先调用XML解析类的getInfoBean()方法,获取文件属性。然后调用XML解析类中的getDocumentParams(bean)方法,将文件属性存储到HashMap中,然后通过循环,调用CEService的changeDocumentProperties(documentId, documentParams)方法修改文件属性,最后调用权限管理中的savePermInfoBeach(paramList, objsName)方法实现对这些属性的保存。
⑦getParams(List
所有参数。
⑧writeXML(DataHandler xmlFile):向本地写入XML,返回XML路径。
⑨createFolder(String folderPath):采用两个for循环,实现路径的拆分和拼接,
最后通过调用CEService的isExistFolder(dbPath)和createFolder(pathHome, pathName[j])方法实现循环创建文件夹。
⑩相关的类文件:
⑪PermissionDao.java
该类中主要实现底层对权限的操作。电子路演中有关权限的操作包括:权限的修改(insertPermInfoBeach)和权限的删除(deletePermInfo)。
权限修改的实现:先批量删除已存在的权限信息,再批量增加权限信息。采用JDBC实现对数据库中数据的增加和删除,需要编写两个SQL语句(删除和插入),实现权限的修改。