DB4401-T 27-2019政务信息共享平台接入规范-(高清现行)_第1页
DB4401-T 27-2019政务信息共享平台接入规范-(高清现行)_第2页
DB4401-T 27-2019政务信息共享平台接入规范-(高清现行)_第3页
DB4401-T 27-2019政务信息共享平台接入规范-(高清现行)_第4页
DB4401-T 27-2019政务信息共享平台接入规范-(高清现行)_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS35.240.01L67

DB4401广 州 市 地 方 标 准DB4401/T27—2019政务信息共享平台接入规范2019-10-142019-10-142019-12-01广州市市场监督管理局发布DB4401/T27DB4401/T27—2019DB4401/T27DB4401/T27—2019目  次前  言 III引  言 V范围 1规范性引用文件 1术语和定义 1缩略语 1共享平台技术要求 2接入规定 2技术架构 2数据交换过程 2交换方式类型 2交换调度 4共享平台实施要求 5共享平台数据交换要求 7数据库交换 8文件交换 11Web服务交换 12消息交换 14电子证照接入要求 167.1概述 16接入规定 16电子证照安全会话接口 17电子证照目录接口要求 17事项与证照关系接口 17电子证照制证接口 17电子证照生命周期管理接口 18电子证照用证服务接口 19电子证照页面接口 20附录A(规范性附录)交换节点编码 22附录B(资料性附录)数据库交换 24附录C(资料性附录)文件交换 40附录D(规范性附录)Web服务交换 46附录E(规范性附录)消息交换 50I附录F(资料性附录)电子证照交换接口参数 70IIII前  言本标准按照GB/T1.1—2009给出的规则起草。本标准由广州市工业和信息化局提出并归口。本标准起草单位:广州市信息化服务中心、广州市标准化研究院。本标准主要起草人:邢诒海、黄庆、葛燕、姚欣研、杨海杰、徐湛、王贺珍、郑裕钊、李斌杰。本标准是对DBJ440100/T195—2013《政府信息共享平台接入规范》的修订。本标准与DBJ440100/T195—2013相比,主要技术变化如下:——增加了电子证照接入要求(第7章和附录F);——第5.2条中的共享平台技术架构新增加了电子证照系统的内容;——5.6.138G7——5.6.2195—2013。IIIIIIIVIV引  言根据GB/T21062VVDB4401/T27DB4401/T27—2019DB4401/T27DB4401/T27—2019政务信息共享平台接入规范范围(本标准适用于政务部门业务系统与共享平台对接的开发与实施。规范性引用文件GB/T21062.1政务信息资源交换体系第1部分:总体框架GB/T21062.3政务信息资源交换体系第3部分:数据接口规范术语和定义GB/T21062.1和GB/T21062.3界定的以及下列术语和定义适用于本文件。GB/T21062.1和GB/T21062.3界定的以及下列术语和定义适用于本文件。提供方提供政务信息资源的政务部门。使用方使用政务信息资源的政务部门。管理方共享平台的管理运维单位。交换审计对交换数据从提供到使用全过程的传输一致性进行核对的过程。电子政务外网支撑本市各政务部门业务系统间协同工作的网络平台。4缩略语下列缩略语适用于本文件。API 应用程序编程接口(ApplicationProgrammingInterface)CA 数字证书认证中心(CertificateAuthority)1ESB 企业服务总线(EnterpriseServiceBus)SDK 软件开发工具包(SoftwareDevelopmentKit)STS 安全令牌服务(SecurityTokenService)共享平台技术要求接入规定政务信息共享框架由市、区两级共享平台组成。区政务部门业务系统应接入区共享平台。市政务部门业务系统、区共享平台应接入市共享平台。技术架构共享平台1所示,功能如下:c)政务部门业务系统与前置交换系统之间通过交换桥接系统进行交换数据的提供和获取。电子证照c)政务部门业务系统与前置交换系统之间通过交换桥接系统进行交换数据的提供和获取。电子证照电子证照的技术架构见图2所示,功能如下:CACA电子证照系统提供电子证照数据的存储和管理;政务部门业务系统接入电子证照系统,实现发证和用证对接。数据交换过程数据提供:数据从提供方的业务系统通过交换桥接系统传输到前置交换系统;数据汇集:数据从前置交换系统传输到中心交换系统;数据分发:数据从中心交换系统传输到前置交换系统;数据获取:数据从前置交换系统通过交换桥接系统传输到使用方的业务系统。5.4交换方式类型共享平台支持的交换方式包括:数据库交换、文件交换、Web服务交换和消息交换,其各自特点见表1所示。2注1:注1:业务库是由各政务部门产生和管理的政务信息资源库。注2:共享交换库是政务部门提供本部门交换数据、获取其他部门交换数据的临时存储库。图1共享平台技术架构图2电子证照技术架构3交换调度交换调度通过API方式控制数据库交换和文件交换。共享平台公开交换服务启动的API,政务部门使用API提表2命令消息结构交换编码交换编码如下:A;4表1交换方式类型交换过程交换方式数据库交换文件交换Web服务交换消息交换数据提供提供方通过交换接口API向共享平台提供数据集。提供方通过交换接口API向共享平台提供文件。WebESB提供方通过交换接口API向共享平台提供消息。数据获取使用方调用交换接口API,获取数据。使用方调用交换接口API,获取文件。Web使用提供方的服务。使用方调用交换接口API,获取消息。适用场景期批量交换;结构化数据。据量大;数据。实时性要求高,数据量小;取所需的部分数据。据量小;交换内容格式多变。约束条件不宜对所有数据内容进行完整性校验。交换;件进行解释入库。换;不支持增量数据交换;Web持稳定、可靠;提供方网络应保持稳定。数据交换;和解析处理;交换任务应有明确的接收方。属性类型命令消息格式示例TextStringstartService[Name][PARAM]stopService[Name][PARAM]startServiceExTableNameEX_GONGAN_01_CSDJ5.6.2网络要求5.6.2网络要求所示。前置机应接入到电子政务外网,与共享平台中心节点服务器的物理链路互通。4前置机应能正常的访问到共享平台中心节点服务器的端口,端口列表见表5所示。前置机只准许共享平台中心节点服务器和维护管理服务器、政务部门的业务系统服务器和维护管理服务器、交换桥接所部署的服务器进行访问。表4前置机对共享平台中心节点服务器和维护管理工作站开放的端口列表5b)主题的标识采用表的名称,编码规则是:EX_交换节点编码_2位数字编号_主题名称的简拼,例如:工商行政主管部门共享的第一个主题开业登记信息,EX_GONGSHANG_01_KYDJ。共享平台实施要求前置机配置要求前置机应保持稳定、可靠、高效的运行,配置要求见表3所示。表3前置机配置基本要求前置机配置基本要求CPU4核2.4GHz同级或以上内存不少于16G的物理内存硬盘不少于300G的可用硬盘空间做RAID1(≥10,000RPM)网卡100M或以上的双网卡操作系统Linux5.0或以上版本Windows2003或以上版本数据库达梦7以上版本OracleDatabase10gStandardEditionOne或以上版本Sqlserver2000StandardEdition或以上版本Mysql5.0或以上版本端口名称端口号SQLServer数据库访问1433Oracle数据库访问1521达梦数据库访问5236FTP访问21FTPS访问989、900远程控制Telnet22表4前置机对共享平台中心节点服务器和维护管理工作站开放的端口列表(续)端口名称端口号远程控制Windows3389Web服务访问HTTP80、81Web服务访问HTTPS443消息中间件10240~10250、1099、1100表5前置机需要访问共享平台中心节点服务器的端口列表端口名称端口号时间服务123FTP访问21FTPS访问989、900Web服务访问HTTP80、81Web服务访问HTTP(S)443消息中间件10240~10250、1099、1100安全要求以前置机为交换边界,政务部门应保证业务系统与前置机之间的传输安全性。5.6.2政务部门对前置机操作系统、交换数据库、FTP政务部门对前置机的数据库访问账号进行分类,对数据库管理员、数据库操作人员进行身份认证。政务部门应制定科学、合理的数据备份策略,采用全量备份和增量备份结合、物理备份和逻辑备份结合的方式,对备份数据进行分类分区存放。政务部门应负责对各类计算机病毒的检测与杀灭。提供病毒免疫方式包括病毒预防、病毒诊断、病毒杀灭、病毒检测等。CA安装部署要求政务部门业务系统接入共享平台的部署流程及职责分工见图3所示。政务部门负责部署和实施本部门业务系统与前置机之间的交换桥接,确保交换桥接系统正常运作,具体要求如下:42.4GHzvCPU16GB内存、300GB6协助共享平台实施人员部署和调试前置机。日常运行管理要求政务部门管理员应对交换桥接系统进行日常维护和管理。根据共享平台管理员提供的账号进行数据的提供和获取,需要更新账号、密码时,通过共享平台进行更新。在日常运作中前置机系统因硬件或软件原因出现问题,无法正常运作时,政务部门管理员应及时向共享平台管理员反映,并协助其查找和解决问题。政务部门管理员应定期使用管理员账号登录共享平台,查看本部门数据交换的频度及交换情况。政务部门管理员发现数据交换有异常时,应以电话、邮件等方式及时向共享平台管理员反映数据交换量出现剧增或剧减;所有交换数据量都为零;交换的数据中出现大量重复的数据;数据记录条数不一致;数据获取失败。77图3交换桥接部署流程及职责分工共享平台数据交换要求数据库交换提供数据准备要提供的数据;填写数据提供登记表;向前置交换库写入交换数据;更新数据提供登记表。提供数据开发示例和实施说明分别参见附录B的B.1和B.2。获取数据使用方的交换桥接应根据数据获取回执表,按批次获取由共享平台分发到前置机交换库的交换数据。按批次获取数据的操作步骤如下:执行获取操作;进行业务处理;填写获取回执。执行获取操作;进行业务处理;填写获取回执。获取数据开发示例参见附录B的B.3。数据库结构交换数据表:用于存储政务部门提供和获取的数据;数据提供登记表:提供方使用该表登记执行数据提供操作的信息;数据获取回执表:使用方根据该表信息按批次获取数据,并使用该表填写数据获取回执。BB.4。控制流程政务部门通过数据库交换方式向共享平台提供数据,调用交换接口API向共享平台发送消息命令,具体步骤如下:准备要提供的数据;计算本批次提供的数据;填写数据提供登记表;向前置机写入数据;更新数据提供登记表;API控制流程开发示例参见附录B的B.5。8交换接口开始数据提供接口结束数据提供接口开始数据获取接口结束数据获取接口交换审计审计内容审计内容按审计分工,可分为两部分:审计日志结构审计日志结构参见附录B的B.7。数字证书签名数字证书签名接入方式9图4数字证书更新流程数字证书签名的接入方式分为两部分:(签名值及签名证书序列号字段BB.8.2;使用方获取数据前,增加数据校验的逻辑(验证签名值逻辑)。数据签名实现步骤数据签名实现步骤具体如下:BB.8.3;BB.8.4;将签名值和密码服务器签名证书序列号保存到当前记录的签名值及证书序列号字段中。数据验签实现步骤数据验签实现步骤具体如下:B.8.3;BB.8.5。异常处理数据库连接异常概述交换桥接系统无法正常连接前置机的数据库。异常的发生在交换桥接系统连接前置机的数据库提供或者获取数据时,交换桥接系统和前置机网络不可连通或10前置机发生故障都可能导致数据库连接异常的发生。异常处理过程文件交换SDK进行文件交换应预先安装SDK,具体方法参见附录C的C.1。提供数据文件APICC.2准备交换文件;新建共享平台管理对象;调用数据提供函数。获取数据文件新建共享平台管理对象;获取文件交换数据;根据业务需要进行数据处理和入库使用。交换接口交换审计审计内容按本标准执行,审计日志结构参见附录C的C.5。数字证书签名新建共享平台管理对象;获取文件交换数据;根据业务需要进行数据处理和入库使用。交换接口交换审计审计内容按本标准执行,审计日志结构参见附录C的C.5。数字证书签名将文件转为byteb)和b)执行。文件中加入签名字段及证书序列号属性示例代码参见附录C的C.6。异常处理上传或者下载文件异常概述交换桥接系统无法正常上传或者下载文件。异常的发生11在交换桥接系统调用交换接口API上传或者下载文件时,交换桥接系统和前置机网络不可连通或前置机发生故障都可能导致服务不可用异常的发生。.3异常处理过程6.2.8安全要求限制上传的文件类型如下:.sh.bat.war.jar.java.class.jsp.asp.html.exe.js.iso.php.tarWeb安全令牌服务WebWebWebTicket应使用服务Ticket的方式以保障Web服务的安全性。使用服务Ticket方法按附录D的D.1执行。Web提供方通过WebWebWebWebWebDD.3。WebWeb服务。XMLXMLSOAPWebTicketTicketWeb共享平台提供WebWeb服务代理程序。使用方调用共享平台的服务代理,由共享平台服务代理再调用服务提供方的Web服务,把结果返回服务使用方。服务代理的运行机制见图5所示。125Web服务调用审计据库交换或文件交换提供,提供频率宜为每天一次。审计日志结构见附录D的D.5。数字证书签名据库交换或文件交换提供,提供频率宜为每天一次。审计日志结构见附录D的D.5。数字证书签名webb)b)执行。提供方应在共享平台注册相应的服务资源目录,并描述数字签名的业务规则。异常处理服务不可用异常概述WEB服务使用方无法正常访问代理WEB服务。异常的发生WEBWEB服务时,使用方的调用机器和代理服务器网络不可连通或代理WEB服务的服务器发生故障都可能导致服务不可用的异常发生。异常处理过程当网络断开或代理服务器、提供方WEB服务的服务器故障引发该服务不可用时,政务部门管理员应未授权访问异常13概述WEB服务使用方没有访问服务的Ticket或者未被授权时,访问代理WEB服务会抛出异常并记录日志。异常的发生WEBWEBHeaderTicket。当服务TicketWEBWEBTicket无效或者使用方没有被授权访问则会抛出异常并记录日志。异常处理过程WEB服务使用方联系共享平台管理员分配服务Ticket并授权对应WEB服务的访问权限,访问代理WEB服务在请求的Header设置已授权的服务Ticket。消息交换SDK进行消息交换应预先安装SDK,具体方法见附录E的E.1。消息结构(Attachments)组成,具体说明见附录E的E.2。发送消息发送消息准备要提供的数据;封装消息内容;发送消息。发送消息开发示例及相关说明见附录E的E.3和E.4。接收消息接收消息的操作步骤如下:查询未获取的消息;从前置交换系统接收一条消息;进行业务处理。接收消息开发示例及相关说明见附录E的E.5和E.6。异常处理服务不可用异常概述交换桥接系统无法正常打开前置机的消息队列,交换接口API会抛出异常并记录日志。14异常的发生在交换桥接系统调用交换接口API发送消息时,交换桥接系统和前置机网络不可连通或前置机发生故障都可能导致服务不可用的异常发生。交换桥接系统调用交换接口API获取消息时也会产生此类异常。共享平台提供的支撑发生异常时,交换接口API会抛出异常,并在审计日志中标记交换失败的消息以及记录异常信息。异常处理过程API(见附录E的非法消息发送异常概述API会抛出异常并记录日志。异常的发生交换接口API每一次发送消息时,都会将消息中的数据与事前已在共享平台注册的数据主题进行比对,检查数据项(字段)取值的合法性,对于不合法的数据会抛出消息发送异常。交换桥接系统在封装消息时指定的目标超出交换节点编码表(见附录A)的取值范围,在消息发送时会抛出非法消息发送异常。共享平台提供的支撑发生异常时,交换接口API会抛出异常,并在审计日志中标记交换失败的消息以及记录异常信息。异常处理过程数据量变化异常概述交换桥接系统向前置机发送的消息数量为0或消息数量较平均值出现大幅波动(如放大或缩小10倍),在共享平台上通过监控手段发现异常。异常的发生数据量变化异常主要由共享平台通过对消息交换过程实施每天监控发现,主要包括两种情况:1500当消息交换量出现大幅波动(10)时,视为数据量变化异常,例如业务高峰日、连续发生非法消息发送异常都会引发数据量变化异常。共享平台提供的支撑共享平台对消息交换过程实施每天监控,对消息交换量为0或消息交换量急剧变动的政务部门,通过邮件发送预警提示。异常处理过程6.4.6交换接口交换接口API提供了平台连接、发送消息、接收消息、异常处理、交换审计等五类API,其方法见表6所示,参数说明见附录E的E.8。表6交换接口API类型方法平台连接open/close发送消息send接收消息receive/receiveNoWait/hasMoreMessages异常处理existsPendingMessage/sendPendingMessages交换审计getAuditLogs交换审计交换审计审计内容按本标准执行,审计日志结构见附录E的E.9。数字证书签名消息交换可通过指定的方法获取XMLXML的示例代码见附录E的E.11。在消息体中加入签名值字段及证书序列号属性的示例代码见附录E的E.10。对消息体签名和验签按本标准b)和b)执行。7电子证照接入要求概述接入规定16电子证照分省、市两级部署组成。市、区政务部门业务系统按电子证照统一的标准规范接入。电子证照安全会话接口电子证照目录接口要求查询全省证照目录查询全省证照目录接口功能是查询全省目录数据,获取全省目录清单。具体参数参见附录F.2.1。查询地区应开通目录查询部门应开通目录查询部门事项查询部门事项接口功能是根据主管部门组织机构代码(或统一社会信用代码)查询服务事项列表。具体参数参见附录F.3.1。查询事项与证照关系查询事项与证照关系接口功能是根据事项编号查询所需的证照和所签的证照。具体参数参见附录F.3.2。查询部门事项查询部门事项接口功能是根据主管部门组织机构代码(或统一社会信用代码)查询服务事项列表。具体参数参见附录F.3.1。查询事项与证照关系查询事项与证照关系接口功能是根据事项编号查询所需的证照和所签的证照。具体参数参见附录F.3.2。电子证照制证接口创建制证数据创建制证数据接口功能是提供制作证照数据,适用于制证数据的创建。具体参数参见附录F.5.1。修改制证数据修改制证数据接口功能是提供修改证照数据,适用于制证数据的修改。具体参数参见附录F.5.2。注:已签发的证照不能修改。删除制证数据删除制证数据接口功能是提供删除证照数据,适用于制证数据的删除。具体参数参见附录F.5.3。注:已签发的证照不能删除,只能废止。添加附件数据17下载单个附件下载单个附件接口功能是根据附件唯一标识获取单个附件数据。具体参数参见附录F.5.5。下载多个附件下载多个附件接口功能是根据电子证照标识码获取证照的所有附件数据。具体参数参见附录F.5.6。修改附件数据修改附件数据接口功能是提供修改证照附件数据,适用于附件数据的修改。具体参数参见附录F.5.7。删除附件数据删除附件数据接口功能是提供删除证照附件数据,适用于附件数据的删除。具体参数参见附录F.5.8。PDF上传PDF文件制作接口功能是提供提交PDF文件,完成电子证照制作。具体参数参见附录F.5.9。采集制证数据用户上传制证注:C级是用户自行上传的证照批文,在申请政务服务事项时需要由政务服务窗口人员核验原件后使用;D级为用户自制材料,由用户承诺对其真实性负责,可在申请政务服务事项时直接使用。电子证照生命周期管理接口签发一张证照签发一张证照接口功能是提供一张证照的签发,适用于一张电子证照的新增。具体参数参见附录F.5.1。废止一张证照废止一张证照接口功能是提供一张证照的废止,适用于一张电子证照的废止。具体参数参见附录F.5.2。注:只有已签发的电子证照才可以废止。变更一张证照18加注一张证照加注一张证照接口功能是提供一张证照的加注,适用于一张电子证照的加注。具体参数参见附录F.5.4。年检一张证照换证一张证照换证一张证照接口功能是提供一张证照的换证,适用于一张电子证照的更换。具体参数参见附录F.5.6。挂失一张证照挂失一张证照接口功能是提供一张证照的挂失,适用于一张电子证照的挂失。具体参数参见附录F.5.7。补发一张证照补发一张证照接口功能是提供一张证照的补发,适用于一张电子证照的补发。具体参数参见附录补发一张证照接口功能是提供一张证照的补发,适用于一张电子证照的补发。具体参数参见附录F.5.8。吊销一张证照吊销一张证照接口功能是提供一张证照的吊销,适用于一张电子证照的吊销。具体参数参见附录F.5.9。注销一张证照注销一张证照接口功能是提供一张证照的注销,适用于一张电子证照的注销。具体参数参见附录F.5.10。核验一张证照B级。B级是已经被政务服务窗口人员核验通过的证照信息,可在申请政务服务事项时重复使用。具体参数参见附录F.5.11。电子证照用证服务接口两页系统用证(市民个人网页、企业专属网页按持证人用证19按持证人用证接口功能是获取指定持证人所有的电子证照清单。该接口主要在在线申办系统使用。使用这个接口必须先登录实名认证系统获取实名登录凭据。具体参数参见附录F.6.2。委托授权用证(受委托人依职能查验用证监管治理用证获取证照访问令牌提取证照数据提取证照数据提取证照数据的接口功能是根据用证码提取一个电子证照的信息。具体参数参见附录F.6.7。归档电子文件归档电子文件接口功能是根据电子证照用证码获取用于归档的电子证照文件(PDF格式)。具体参数参见附录F.6.8。电子证照页面接口概述(以下约定URL地址前缀为均采用HTTPSGET方法调用,返回html页面,一般搭配IFrame或弹出页面使用。查看电子证照页面查看电子证照页面接口功能是提供显示单个电子证照的详情页面。具体参数参见附录F.7.1。按对象查看电子证照页面按对象查看电子证照页面接口功能是提供按持证人显示电子证照详情页面。具体示例参见附录F.7.2。审核签发证照页面20附录A附录A(规范性附录交换节点编码21A.1政务部门节点政务部门节点编码见表A.1所示。表A.1政务部门节点编码序号政务部门简称交换节点编码序号政务部门简称交换节点编码1市编办BIANBAN23市气象局QIXIANG2市财政局CAIZHENG24市人社局RENSHE3市残联CANLIAN25市商务局SHANGWU4市城管局CHENGGUAN26市市场监管局SHICHANG5市发改委FAGAI27市司法局SIFA6市中院FAYUAN28市社会组织管理局SHEHUI7市港务局GANGWU29市审计局SHENJI8市工信局GONGXIN30市水务局SHUIWU9市公安局GONGAN31市生态环境局SHENGTAI10市公积金管理中心GONGJIJIN32市体育局TIYU11市规划和自然资源局GUIZI33市统计局TONGJI12市国资委GUOZI34市退役军人事务局TUIYI13市税务局GZSHUIWU35市外事办WAISHI14市监察委JIANCHA36市卫健委WEISHENG15市地方金融管理局JINRONG37市文化广电旅游局WENHUA16市交通运输局JIAOTONG38市信访局XINFANG17市教育局JIAOYU39市医保局YIBAO18市科技局KEJI40市应急管理局YINGJI19市林业和园林局LINYE41市住建局ZHUJIAN20市来穗局LAISUI42市总工会ZONGGH21市民政局MINZHENG43市民族宗教局ZONGJIAO22市农业农村局NONGYE44市政数局ZHENGWU注:以上政务部门按照交换节点编码的拼音排序。A.2区节点A.2区节点区节点编码见表A.2所示。22表A.2区节点编码序号区简称交换节点编码1白云区政府BAIYUN2从化区政府CONGHUA3海珠区政府HAIZHU4黄埔区政府HUANGPU5花都区政府HUADU6荔湾区政府LIWAN7南沙区政府NANSHA8番禺区政府PANYU9天河区政府TIANHE10越秀区政府YUEXIU11增城区政府ZENGCHENG注:以上区按照交换节点编码的拼音排序。2323附录B(资料性附录)数据库交换提供数据开发示例Oracle示例脚本以工商提供开业登记数据主题为例,提供数据操作的Oracle示例脚本如下:declarev_sidvarchar2(38);/*批次号*/v_resultint; /*操作执行结果begin/*准备要提供的开业登记业务数据,假定记录条数为N*//*调用开始数据提供接口,准备提供N条数据*/EXDB.STP_BEGIN_PROVIDE('EX_GONGSHANG_01_KYDJ',N,v_sid);commit;/*v_sid*//*EX_GONGSHANG_01_KYDJN*//*EX_GONGSHANG_01_KYDJN*/……else/*异常处理*/endif;/*调用结束数据提供接口,通知共享平台数据提供完成*/EXDB.STP_END_PROVIDE(v_sid,-1,v_result);commit;end;B.1.2SQLSERVER示例脚本以工商提供开业登记数据主题为例,提供数据操作的SQLSERVER示例脚本如下:declare@v_sidvarchar(40);--批次号declare@v_resultint;--本批次数据提供是否出现异常declare@v_countint;--本批次需要提供的数据量set@v_count=100;--假设本批次提供的数据量为100条.数量可以预先计算也可以在写入数据后计算execSTP_BEGIN_PROVIDE'EX_GONGSHANG_01_KYDJ',-1,@v_sidoutput;24if@v_sidisnotnullbegin/**写入本批次需要提供的数据,写入的数据量为@v_count条**/insertintoEX_GONGSHANG_01_KYDJ(QYZCH,QYMC,FDDBR,...)endelse

/**提供完成以后需要通知共享平台**/execSTP_END_PROVIDE@v_sid,@v_count,@v_resultoutput;beginselect'上一个批次数据提供没有完成,暂时不能提供数据';/****/execSTP_GET_LAST_ERROR'EX_GONGSHANG_01_KYDJ',@v_sidoutput,@v_resultoutput;if@v_sidisnotnullexecSTP_RESET_PROVIDE@v_sid,@v_resultoutput;endB.1.3达梦示例脚本以工商提供开业登记数据主题为例,提供数据操作的达梦示例脚本如下:以工商提供开业登记数据主题为例,提供数据操作的达梦示例脚本如下:declarev_sidvarchar2(38);/*批次号*/v_resultint; /*操作执行结果begin/*准备要提供的开业登记业务数据,假定记录条数为N*//*调用开始数据提供接口,准备提供N条数据*/EXDB.STP_BEGIN_PROVIDE('EX_GONGSHANG_01_KYDJ',N,v_sid);commit;/*v_sid*/if(v_sidisnotnull)then/*向EX_GONGSHANG_01_KYDJ表添加N条交换数据*/……else/*异常处理*/endif;/*调用结束数据提供接口,通知共享平台数据提供完成*/EXDB.STP_END_PROVIDE(v_sid,-1,v_result);commit;25end;提供数据实施说明异常处理当调用stp_begin_provideP_SIDP_RESULT0stp_reset_provideP_RESULT0,表示任务正在运行,需要等待操作结束;P_RESULT0,表示可以正常开始数据提供操作。Oraclev_last_sidvarchar2(38);/*最近一次数据提供的批次号*/v_resultint; /*最近一次数据提供的错误代码v_reset_resultint; /*重置操作执行结果*/begincommit;if(v_result>0)thenEXDB.STP_RESET_PROVIDE(v_last_sid,v_reset_result);commit;if(v_result>0)thenEXDB.STP_RESET_PROVIDE(v_last_sid,v_reset_result);commit;elsif(v_result<0)then/*上一次操作未完成,需要继续等待*/else/*可以开始数据提供操作*/endif;end;B.2.2添加交换数据Oracle示例脚本如下:insertintoEXDB.EX_GONGSHANG_01_KYDJ(QYZCH,QYMC,FDDBR,SFZJHM,ZS,……)values(‘注册登记号’,‘企业名称’,‘法定代表人’,‘身份证件号码’,‘住所’,……)SQLSERVER示例脚本如下:insertintoEX_GONGSHANG_01_KYDJ(QYZCH,QYMC,FDDBR,...)values('企业注册号','企业名称','法定代表人',...);26达梦示例脚本如下:insertintoEXDB.EX_GONGSHANG_01_KYDJ(QYZCH,QYMC,FDDBR,SFZJHM,ZS,……)valuesB.2.3修改交换数据BIZ_ID1(修改)S_LAST_UPDATEDOracle示例脚本如下:updateEXDB.EX_GONGSHANG_01_KYDJsetQYZCH=‘注册登记号’,QYMC=‘企业名称1’,FDDBR=‘正确的法定代表人1’,……,S_STATUS=1,S_LAST_UPDATED=systimestampwhereBIZ_ID=‘唯一业务流水号’SQLSERVER示例脚本如下:updateEX_GONGSHANG_01_KYDJset...S_STATUS=1,S_LAST_UPDATED=getdate(),whereBIZ_ID='唯一业务流水号'...S_STATUS=1,S_LAST_UPDATED=getdate(),whereBIZ_ID='唯一业务流水号'达梦示例脚本如下:updateEXDB.EX_GONGSHANG_01_KYDJsetQYZCH='注册登记号',QYMC='企业名称1',FDDBR='正确的法定代表人1',……,S_STATUS=1,S_LAST_UPDATED=systimestampwhereBIZ_ID='唯一业务流水号'B.2.4废置交换数据BIZ_IDS_STATUS2(废置)S_LAST_UPDATEDOracle示例脚本如下:updateEXDB.EX_GONGSHANG_01_KYDJsetS_STATUS=2,S_LAST_UPDATED=systimestampwhereBIZ_ID=‘唯一业务流水号’SQLSERVER示例脚本如下:updateEX_GONGSHANG_01_KYDJsetS_STATUS=2,27S_LAST_UPDATED=getdate(),whereBIZ_ID='唯一业务流水号'达梦示例脚本如下:updateEXDB.EX_GONGSHANG_01_KYDJsetS_STATUS=2,S_LAST_UPDATED=systimestampwhereBIZ_ID=‘唯一业务流水号’B.2.5增量提供数据获取数据开发示例Oracle示例脚本以人社获取公安的出生登记为例,按批次获取数据的示例脚本片段如下:/*从前置机交换库中,获取第一批未获取的数据*/declarev_sidvarchar2(38);v_begin_stamptimestamp;v_end_stampv_sidvarchar2(38);v_begin_stamptimestamp;v_end_stamptimestamp;v_datast_cursor;v_scriptvarchar2(1024);v_countint;v_check_countint;v_resultint;/*批次号*//*批次的开始时间戳*//*批次的结束时间戳*//*第一批未获取的交换数据*//*用于生成脚本*//*应该获取到的数据条数*//*实际获取到的数据条数*//*操作执行结果*/begin/*调用开始数据获取接口,获取一个批次数据的信息*/EXDB.STP_BEGIN_ACQUIRE('EX_GONGAN_01_CSDJ',v_sid,v_begin_stamp,v_end_stamp,v_count);commit;while(v_sidisnotnull)loopbegin/*构造获取该批次交换数据的语句*/v_script:='select*fromEXDB.EX_GONGAN_01_CSDJwhereS_LAST_UPDATED>=:begin_stampandS_LAST_UPDATED<=:end_stamp';/*获取该批次的交换数据*/openv_datasforv_scriptusingv_begin_stamp,v_end_stamp28/*开始使用v_datas中的数据,例如经过转换后存放到业务库中*//*计算实际获取到的记录数,并填到变量v_check_count中*//*...*//*调用结束数据获取接口,更新数据获取回执表*/EXDB.STP_END_ACQUIRE(v_sid,v_check_count,v_result);commit;count);

/*调用开始数据获取接口,获取下一个批次数据的信息*/EXDB.STP_BEGIN_ACQUIRE('EX_GONGAN_01_CSDJ',v_sid,v_begin_stamp,v_end_stamp,v_commit;endloop;end;SQLSERVER示例脚本以人社获取公安的出生登记为例,按批次获取数据的示例脚本片段如下:declare@v_sidvarchar(40);--批次号declare@v_end_stampdatetime;--批次的结束时间戳declare@v_countint;--批次的数据量declare@v_check_countint;--实际获取到的数据量declare@v_resultint;--获取结果declare@v_end_stampdatetime;--批次的结束时间戳declare@v_countint;--批次的数据量declare@v_check_countint;--实际获取到的数据量declare@v_resultint;--获取结果execSTP_BEGIN_ACQUIRE'EX_GONGAN_01_CSDJ',@v_sidoutput,@v_begin_stampoutput,@v_end_stampoutput,@v_countoutput;if@v_sidisnotnullbegin/****/select*fromEX_GONGAN_01_CSDJwhereS_LAST_UPDATED>=@v_begin_stampandS_LAST_UPDATED<=@v_end_stamp;/**计算实际获取到的数据量(需要自定义开发代码)**/set@v_check_count=@v_count;/**通知共享平台获取完成**/execSTP_END_ACQUIRE@v_sid,@v_check_count,@v_resultoutput;endelse29beginselect'没有新数据';return;end达梦示例脚本以人社获取公安的出生登记为例,按批次获取数据的示例脚本片段如下:/*从前置机交换库中,获取第一批未获取的数据*/declarebegin

typet_cursorisrefcursor;v_sidvarchar2(38); /**/v_begin_stamptimestamp; /*批次的开始时间戳*/v_end_stamptimestamp; /*批次的结束时间戳v_datast_cursor; /*第一批未获取的交换数据*/v_scriptvarchar2(1024); /*用于生成脚本*/v_countint; /*应该获取到的数据条数*/v_check_countint; /*实际获取到的数据条数v_resultint; /*操作执行结果*/EXDB.STP_BEGIN_ACQUIRE('EX_GONGAN_01_CSDJ',v_sid,v_begin_stamp,v_end_stamp,v_count);commit;EXDB.STP_BEGIN_ACQUIRE('EX_GONGAN_01_CSDJ',v_sid,v_begin_stamp,v_end_stamp,v_count);commit;while(v_sidisnotnull)loop/*构造获取该批次交换数据的语句*/v_script:='select*fromEXDB.EX_GONGAN_01_CSDJwhereS_LAST_UPDATED>=:begin_stampandS_LAST_UPDATED<=:end_stamp';/*获取该批次的交换数据*/openv_datasforv_scriptusingv_begin_stamp,v_end_stamp;/*v_datas*//*计算实际获取到的记录数,并填到变量v_check_count中*//*...*//*调用结束数据获取接口,更新数据获取回执表*/EXDB.STP_END_ACQUIRE(v_sid,v_check_count,v_result);commit;/*调用开始数据获取接口,获取下一个批次数据的信息*/EXDB.STP_BEGIN_ACQUIRE('EX_GONGAN_01_CSDJ',v_sid,v_begin_stamp,v_end30_stamp,v_count);commit;endloop;end;数据库结构交换数据表B.4.1.1交换数据表结构交换数据表的命名格式为:EX_提供方交换节点拼音_两位编号_数据主题拼音简写。交换数据表包括内建字段和内容字段两部分,表结构见表B.1所示。表B.1数据交换表结构内建字段字段名数据类型允许空缺省值含义说明(以Oracle为例)S_GUIDVARCHAR2(38)否sys_guid()交换数据记录的物理唯一标识,物理唯一标识与业务上的唯一标识不同,同一个交换表中可以存在物理唯一标识不同但业务唯一标识相同的数据,此字段不应由政务部门的交换桥接维护。S_CREATION_TIMETIMESTAMP否systimestamp交换数据记录在当前节点交换库的物理创建时间,此字段不应由政务部门的交换桥接维护。S_LAST_UPDATEDTIMESTAMP否systimestamp交换数据记录在提供方交换库的最后修改时间,此字段应由提供方的交换桥接维护。S_STATUSVARCHAR2(1)否0交换数据记录的状态:0:添加;1:修改;2:废置。S_SRC_NODEVARCHAR2(80)是来源节点名称,在发送数据时,由发送方的交换桥接填写其对应交换节点的值。内容字段应包含:唯一的业务流水号字段:BIZ_ID业务发生时间字段:BIZ_TIME(这两个字段命名可以根据实际调整)B.4.1.2数据状态S_STATUS说明B.4.1.2数据状态S_STATUS说明S_STATUS012S_STATUS字段的默认值是31表B.2数据状态S_STATUS的含义状态名状态值含义允许的状态切换添加0交换数据记录初始写入交换库,在当前交换库的创建时间为S_CREATION_TIME,此时S_LAST_UPDATED等于S_CREATION_TIME修改、废置修改1提供方在其交换库修改了该交换数据记录,修改时间为S_LAST_UPDATED废置废置2提供方已把该交换数据记录标记为无效,标记时间为S_LAST_UPDATED无数据提供登记表提供方交换节点拼音_PROVIDEB.3所示:表B.3数据提供登记表结构字段名数据类型允许空缺省值含义说明S_GUIDVARCHAR2(38)否sys_guid()数据记录的主键(物理唯一标识)。S_CREATION_TIMETIMESTAMP否systimestamp数据记录在当前节点交换库的物理创建时间。S_LAST_UPDATEDTIMESTAMP否systimestamp数据记录在提供方交换库的最后更新时间。S_STATUSVARCHAR2(1)否0数据记录的状态:0:添加;1:修改;2:废置。BEGIN_STAMPTIMESTAMPEND_STAMPTIMESTAMPEX_TABLE_NAMEVARCHAR2(80)否交换数据表的名称。RECORD_COUNTINT否提供方登记该批次提供的记录条数。CHECK_RESULTINT否0共享平台对该批次数据提供进行检查的结果:0:未检查;1:数据记录条数一致;2:数据记录条数不一致。CHECK_TIMEDATE共享平台对该批次数据提供进行检查的时间。CHECK_COUNTINT共享平台检查得出的该批次提供的实际记录条数。B.4.3数据获取回执表B.4.3数据获取回执表32数据获取回执表的命名格式为:DC_使用方交换节点拼音_ACQUIRE。数据获取回执表包括内建字段和内容字段两部分,交换桥接应调用共享平台提供的数据库存储过程接口,不应直接对该表进行操作。表结构见表B.4所示。表B.4数据获取回执表结构字段名数据类型允许空缺省值含义说明S_GUIDVARCHAR2(38)否sys_guid()数据记录的主键(物理唯一标识)。S_CREATION_TIMETIMESTAMP否systimestamp数据记录在当前节点交换库的物理创建时间。S_LAST_UPDATEDTIMESTAMP否systimestamp数据记录在提供方交换库的最后更新时间。S_STATUSVARCHAR2(1)否0数据记录的状态:0:添加;1:修改;2:废置。BEGIN_STAMPTIMESTAMP否END_STAMPTIMESTAMPEX_TABLE_NAMEVARCHAR2(80)否交换数据表的名称。RECORD_COUNTINT否提供方登记该批次提供的记录条数。CHECK_RESULTINT否0使用方对该批次数据获取情况进行标记(数据获取回执标记),由使用方交换桥接维护该字段。0:未获取;1:获取成功;2:获取失败。CHECK_TIMEDATE(数据获取时间由使用方交换桥接维护该字段。CHECK_COUNTINT使用方对该批次数据获取的实际记录条数。B.5控制流程B.5控制流程Java开发示例用户调用API通知共享平台调用某个交换服务(ID由共享平台管理员分派)//1.初始化交换接口DatacenterClientclient=newDatacenterClient();//2.调用接口发送通知命令,根据服务ID启动服务,支持通过编号的形式client.startServiceById("serviceId");B.5.1.2用户提供完数据后,调用API通知共享平台调用汇集服务//1.初始化交换接口DatacenterClientclient=newDatacenterClient();33//2.调用接口发送命令通知共享平台提供完成,参数为主题表名client.startService("EX_GONGAN_01_DJXX");.Net开发示例用户调用API通知共享平台调用某个交换服务(ID由共享平台管理员分派)//1.初始化交换接口DatacenterClientclient=newDatacenterClient();//2.调用接口发送通知命令,根据服务ID启动服务,支持通过编号的形式client.StartServiceById("serviceId");用户提供完数据后,调用API通知共享平台调用汇集服务//1.初始化交换接口DatacenterClientclient=newDatacenterClient();//2.调用接口发送命令通知共享平台提供完成,参数为主题表名client.StartService("EX_GONGAN_01_DJXX");B.6.1开始数据提供开始数据提供(stp_begin_provide)接口参数见表B.5所示。表B.5开始数据提供(stp_begin_provide)接口参数34交换接口参数B.6.1开始数据提供开始数据提供(stp_begin_provide)接口参数见表B.5所示。表B.5开始数据提供(stp_begin_provide)接口参数34输入参数参数名类型说明P_TABLE_NAME准备写入的交换数据表名。P_RECORD_COUNTINT值大于等于0时,表示本次数据提供操作准备写入的数据量;值为-1其他值无效。输出参数参数名类型说明P_SIDVARCHAR2(38)批次号。如果为空值,则表示对应交换数据表还有其它数据提供的操作未完成,暂时不能开始数据提供操作,应等待上次数据提供操作结束。否则,则表示可以开始写入数据。Oracle调用示例callEXDB.STP_BEGIN_PROVIDE('EX_GONGSHANG_01_KYDJ',100,v_sid);或callEXDB.STP_BEGIN_PROVIDE('EX_GONGSHANG_01_KYDJ',-1,v_sid);SQLSERVER调用示例execSTP_BEGIN_PROVIDE'EX_GONGSHANG_01_KYDJ',-1,@v_sidoutput;B.6.3开始数据获取开始数据获取(stp_begin_acquire)接口参数见表B.7所示。B.6.3开始数据获取开始数据获取(stp_begin_acquire)接口参数见表B.7所示。表B.7开始数据获取(stp_begin_acquire)接口参数35B.6.2结束数据提供结束数据提供(stp_end_provide)接口参数见表B.6所示。表B.6结束数据提供(stp_end_provide)接口参数输入参数参数名类型说明P_SIDVARCHAR2(38)要结束的数据提供操作的批次号。P_RECORD_COUNTINT值为-1STP_BEGIN_PROVIDE0(如果交换桥接在调用STP_BEGIN_PROVIDEP_RECORD_COUNT0,则本参数值视为无效);其他值无效。输出参数参数名类型说明P_RESULTINT执行结果状态。0:操作成功;1:操作失败,所指定的批次号无效,此时桥接程序应该中止正常的处理流程,进行程序出错处理。Oracle调用示例callEXDB.STP_END_PROVIDE(v_sid,-1,v_result);或callEXDB.STP_END_PROVIDE(v_sid,100,v_result);SQLSERVER调用示例execSTP_END_PROVIDE@v_sid,@v_count,@v_resultoutput;输入参数参数名类型说明P_TABLE_NAMEVARCHAR2(80)准备获取数据的交换数据表名。输出参数参数名类型说明P_SIDVARCHAR2(38)批次号。如果为空值,则表示目标主题没有未获取的数据;否则,则表示可以开始获取数据。P_BEGIN_STAMPTIMESTAMP待获取数据批次的开始时间戳。P_END_STAMPTIMESTAMP待获取数据批次的结束时间戳。P_COUNTINT待获取数据批次的记录数。Oracle调用示例callEXDB.STP_BEGIN_ACQUIRE('EX_GONGAN_01_CSDJ',v_sid,v_begin_stamp,v_end_stamp,v_count);SQLSERVER调用示例execSTP_BEGIN_ACQUIRE'EX_HZCHUZU_03_DWXX',@v_sidoutput,@v_begin_stampoutput,@v_end_stampoutput,@v_countoutput;B.6.4结束数据获取结束数据获取(stp_end_acquire)接口参数见表B.8所示。表B.8结束数据获取(stp_end_acquire)接口参数输入参数参数名类型说明P_SIDVARCHAR2(38)获取数据的批次号。P_CHECK_COUNTINT实际成功获取的记录数。输出参数参数名类型说明P_RESULTINT执行结果状态。0:操作成功;1:表示操作失败,所指定的批次号无效,此时桥接程序应该中止正常的处理流程,进行程序出错处理。Oracle调用示例callEXDB.STP_END_ACQUIRE(v_sid,v_check_count,v_result);SQLSERVER调用示例execSTP_END_ACQUIRE@v_sid,@v_check_count,@v_resultoutput;数据库交换审计分为数据提供和数据获取两部分,审计日志结构分别见表B.3所示和表B.4所示。B.8数字证书签名系统交互流程提供方与使用方进行数据时数字证书签名系统交互流程图见图B.1所示,具体步骤如下:提供方部门系统调用密码服务器签名接口对拼装后的记录数据进行签名;数据库交换审计分为数据提供和数据获取两部分,审计日志结构分别见表B.3所示和表B.4所示。B.8数字证书签名系统交互流程提供方与使用方进行数据时数字证书签名系统交互流程图见图B.1所示,具体步骤如下:提供方部门系统调用密码服务器签名接口对拼装后的记录数据进行签名;密码服务器返回签名值;提供方把签名值及密码服务器签名证书证书序列号作为记录的字段,通过共享平台发出数据;使用方前置机通过共享平台获取到数据,取出记录中的数据、签名值及证书序列号;密码服务器返回验签结果。交换表及前置机证书管理表字段属性结构见表B.9所示。前置机证书管理表见表B.10所示。表B.9字段属性结构36字段名数据类型允许空缺省值含义说明S_SIGN_DATAVARCHAR2(500)是签名值字段用于存放当前记录各字段值拼装后的数据进过签名得出的签名值。图B.1提供方发送数据报文B.8.3拼装记录数据及数据类型的转换形式图B.1提供方发送数据报文B.8.3拼装记录数据及数据类型的转换形式数据转换格式见表B.11所示。数据转换类型见表B.12所示。表B.11数据转换格式(内建字段忽略)37表B.9字段属性结构(续)字段名数据类型允许空缺省值含义说明S_SIGN_CERTVARCHAR2(100)是证书序列号字段当前单位所使用的密码服务器签名证书的证书序列号。B.10前置机证书管理表字段名数据类型允许空缺省值含义说明S_GUIDVARCHAR2(50)否sys_guid()记录的主键(物理唯一标识)。S_CREATION_TIMETIMESTAMP否systimestamp创建时间。S_LAST_UPDATEDTIMESTAMP否systimestamp最后更新时间。S_STATUSVARCHAR2(1)否0记录的状态,0:添加;1:修改;2:废置。SIGN_CERTVARCHAR2(100)否证书序列号存放签名证书对应的证书序列号,用于验签时根据证书序列号获取对应的签名证书。SIGNATUREVARCHAR2(1500)否签名证书:各单位所使用的密码服务器签名证书。字段名数据类型允许空缺省值含义说明XMVARCHAR2(50)否姓名。SFZHMVARCHAR2(50)否身份证号码。BLSJDATE否办理时间。生成的XML示例如下:<DATA><XM>张三</XM><SFZHM>4406***********</SFZHM><BLSJ>2010-12-11</BLSJ></DATA>字段名统一为大写。字段的排列顺序按数据标准的顺序。只有业务字段生成XML,证书序列号、证书签名以及相关的S_GUID,S_LAST_UPDATED等属于内建字段,不生成XML标签。数据项为空或为NULL时,生成XML标签为空字符串,如“<NAME></NAME>”。表B.12数据转换类型数据类型ORACLESQLSERVER对应形式字符型VARCHAR2(N)VARCHAR(N)无须转换。日期型DATEDATETIMEyyyy-MM-dd的形式。时间戳TIMESTAMP(3)DATETIMEyyyy-MM-ddHH:mm:ss.SSS的形式。整数型NUMBERINT直接转换字符串。浮点型FLOATFLOAT1.251.2501.25。数字型NUMBER(L,P)DECIMAL(L,P)例如NUMBER(22,2)则保留两位小数,字符串为:1.20。文本型CLOBTEXT直接转换字符串。二进制BLOBIMAGE通过BASE64位转换为字符串。B.8.4数据签名B.8.4数据签名对数据、文件、信息进行签名调用以下接口:示例代码如下:PSIApppsi=newPSIApp();StringsignDatapsi.AdvSignData(i_texti_inDatai_algoTypei_signType);获取当前密码服务器签名证书证书序列号Stringsign_cert=psij.AdvGetCert(2);StringxmlCertInfo=psij.AdvGetCertInfo(sign_cert);intindx1=xmlCertInfo.indexOf("<serialnum>");intindx2=xmlCertInfo.indexOf("</serialnum>");38Stringcertsn=xmlCertInfo.substring(indx1+11,indx2);注:i_text可以为String,也可以为byte[]B.8.5数据验签对数据、文件、信息进行验签调用以下接口:示例代码如下://根据消息中的证书序列号获取到对应的签名证书;PSIApppsi=newPSIApp();booleanverifyResult=psi.AdvVerifySign(i_checkCert,i_clearText,i_signature,i_algoType,i_signType);3939附录C(资料性附录)文件交换安装SDK获取SDK政务部门可通过/services或联系共享平台管理员获取共享平台SDKAPI类库以及配置文件、帮助文档、开发示例等组成,共享平台SDK目录结构见表C.1所示。C.1SDK序号目录路径文件说明1\conf配置文件,包括运行配置:perties2\example示例程序。2.1\example\javaJava示例程序。2.2\example\dotnetDotnet示例程序。2.3\example\run.bat客户端小程序,支持直接通过界面选择提供获取文件。3\lib交换接口API类库,供交换桥接系统调用。3.1\lib\javaJavaAPI类库:dc-file-client.jar3.2\lib\dotnetDotnetAPI类库:dc-file-client.dll安装部署安装部署共享平台SDK安装部署过程按照以下两步:把SDKDIRC:\DatacenterFileClient;把{DIR}\libAPI(dc-file-client.jardc-file-client.dll)引入到交换桥接系统可访问到的类库目录。开发引用在交换桥接系统程序开发中引用交换接口API,语句如下:Javaimportgov.datacenter.engine.client;.netusingGov.Datacenter.Engine.Client;运行配置交换接口API运行配置主要由一个文件决定:perties。具体配置如下:URIjmsURL=tcp://2:6161640#文件接收队列名称fileQueue=QUEUE.SERVICE.GONGSHANG#消息通信用户名jmsUserName=clientuser#消息通信密码jmsPassword=bf659f86182c9ead#共享平台节点通信WEB服务地址wsURL=34:8080/WSServiceWorkerAgent/WSServiceWorkerAgent?wsdl提供数据文件交换桥接调用交换接口API示例代码如下://准备交换数据StringsubjectName="EX_GONGAN_02_LDRYJZ";StringlocalFileName="D:\EX_GONGAN_02_LDRYJZ.XML";try//根据配置文件参数创建对象DatacenterFileClientclient=newDatacenterFileClient();videFile(subjectName,localFileName);}//根据配置文件参数创建对象DatacenterFileClientclient=newDatacenterFileClient();videFile(subjectName,localFileName);}catch(DatacenterException){throw;//异常处理}C.3获取数据文件交换桥接调用交换接口API示例代码如下:场景一:获取待接收的文件。//准备交换数据StringsubjectName="EX_GONGAN_02_LDRYJZ";try{//根据配置文件参数创建对象DatacenterFileClientclient=newDatacenterFileClient();FileInfofileInfo=client.accquireFile(subjectName);//对fileInfo作进一步处理41}catch(DatacenterException){throw;//异常处理}场景二:根据文件名获取文件://准备交换数据StringsubjectName="EX_GONGAN_02_LDRYJZ";try{//根据配置文件参数创建对象DatacenterFileClientclient=newDatacenterFileClient();for(Stringname:client.getFileNameList(subjectName)){FileInfofileInfo=client.accquireFile(subjectName,name);//对fileInfo作进一步处理}catch(DatacenterException){}catch(DatacenterException){throw;//异常处理}C.4交换接口C.4.1文件批次信息表C.2文件批次信息属性说明42属性类型说明IdString唯一标识。DataSubjectNameEnString数据主题标识。FileNameString文件名。FilePathString文件目录。FullPathString文件完整路径。FileOriginalNameString原始文件名。C.4.3数据提供C.4.3数据提供提供数据文件的接口在DataCenterFileClient类中定义,接口名称为provideFile,方法说明见表C.4所示。C.4provideFile43表C.2文件批次信息属性说明(续)属性类型说明SrcNodeString提供方ID。SrcNodeNameString提供方名称。FileSizeString文件大小。GenerateTypeint生成形式(0:上传;1:交换;2:转换)。CheckResultint0:未获取(在中心端不显示为0部分的文件);1:成功;2:失败。CheckTimeDate提供时间或者获取时间。Statusint0:添加;1:修改;2:废置。LastActiveTimeTIMESTAMP最后修改时间。C.4.2文件信息(FileInfo)文件信息属性说明见表C.3所示。表C.3文件信息属性说明属性类型说明IdString唯一标识。DataSubjectNameEnString数据主题标识。FileNameString文件名。FileOriginalNameString原始文件名。SrcNodeString提供方标识。FileSizeString文件大小。FileDataByte[]文件内容。方法声明PublicvoidprovideFile()功能描述提供文件。输入参数StringdataSubjectNameEnStringfileName返回值无。异常抛出DatacenterExceptionC.5审计日志结构C.5审计日志结构文件交换审计日志结构见表C.7所示。表C.7文件交换审计日志结构44C.4.4数据获取获取数据文件的接口在DataCenterFileClient类中定义,接口有acquireFile和getFileNameList。其方法说明见表C.5所示和表C.6所示。表C.5acquireFile参数方法声明PublicFileInfoacquireFile(StringfileName)功能描述根据文件名获取文件。输入参数StringFileName此参数可以省略。返回值FileInfofile异常抛出DatacenterExceptiongetFileNameListCheckResult=0的更新日期最早的文件。C.6getFileNameList方法声明PublicList<String>getFileNameList()功能描述获取文件名列表。输入参数无返回值List<String>异常抛出DatacenterException字段名数据类型允许空缺省值含义说明IDVARCHAR2(50)否唯一标识。CREATOR_IDVARCHAR2(50)是创建者。CREATION_TIMEDATE否创建时间。LAST_MODIFICATOR_IDVARCH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论