ICS35.
240.
01L67DB4401广州市地方标准DB4401/T27—2019政务信息共享平台接入规范2019-10-14发布2019-12-01实施广州市市场监督管理局发布DB4401/T27—2019I目次前言.
III引言.
V1范围.
12规范性引用文件.
13术语和定义.
14缩略语.
15共享平台技术要求.
25.
1接入规定.
25.
2技术架构.
25.
3数据交换过程.
25.
4交换方式类型.
25.
5交换调度.
45.
6共享平台实施要求.
56共享平台数据交换要求.
76.
1数据库交换.
86.
2文件交换.
116.
3Web服务交换.
126.
4消息交换.
147电子证照接入要求.
167.
1概述.
167.
2接入规定.
167.
3电子证照安全会话接口.
177.
4电子证照目录接口要求.
177.
5事项与证照关系接口.
177.
6电子证照制证接口.
177.
7电子证照生命周期管理接口.
187.
8电子证照用证服务接口.
197.
9电子证照页面接口.
20附录A(规范性附录)交换节点编码.
22附录B(资料性附录)数据库交换.
24附录C(资料性附录)文件交换.
40附录D(规范性附录)Web服务交换.
46附录E(规范性附录)消息交换.
50DB4401/T27—2019II附录F(资料性附录)电子证照交换接口参数.
70DB4401/T27—2019III前言本标准按照GB/T1.
1—2009给出的规则起草.
本标准由广州市工业和信息化局提出并归口.
本标准起草单位:广州市信息化服务中心、广州市标准化研究院.
本标准主要起草人:邢诒海、黄庆、葛燕、姚欣研、杨海杰、徐湛、王贺珍、郑裕钊、李斌杰.
本标准是对DBJ440100/T195—2013《政府信息共享平台接入规范》的修订.
本标准与DBJ440100/T195—2013相比,主要技术变化如下:——增加了电子证照接入要求(第7章和附录F);——第5.
2条中的共享平台技术架构新增加了电子证照系统的内容;——第5.
6.
1条表3的前置机配置基本要求:内存修改为不少于8G的物理内存,数据库增加了达梦7以上版本;——第5.
6.
2条中增加了达梦数据库访问端口号.
本标准代替了DBJ440100/T195—2013.
DB4401/T27—2019IVDB4401/T27—2019V引言根据GB/T21062《政务信息资源交换体系》、《广州市政务信息共享管理规定》和《广州市政府信息共享管理规定实施细则》,政务信息共享平台是为政务部门之间信息共享提供支撑的信息平台.
共享平台的建设,实现了政务部门之间的信息共享交换,对提高政务信息资源开发利用总体水平和政务信息安全管理水平具有重要作用.
本标准为推动政务信息资源共享有序开展而制定,用于指导各政务部门业务系统与共享平台对接的开发与实施工作.
DB4401/T27—20191政务信息共享平台接入规范1范围本标准规定了政务部门业务系统接入政务信息共享平台(以下简称"共享平台")的技术要求、数据交换要求和电子证照接入要求.
本标准适用于政务部门业务系统与共享平台对接的开发与实施.
2规范性引用文件下列文件对于本文件的应用是必不可少的.
凡是注日期的引用文件,仅所注日期的版本适用于本文件.
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件.
GB/T21062.
1政务信息资源交换体系第1部分:总体框架GB/T21062.
3政务信息资源交换体系第3部分:数据接口规范3术语和定义GB/T21062.
1和GB/T21062.
3界定的以及下列术语和定义适用于本文件.
3.
1提供方提供政务信息资源的政务部门.
3.
2使用方使用政务信息资源的政务部门.
3.
3管理方共享平台的管理运维单位.
3.
4交换审计对交换数据从提供到使用全过程的传输一致性进行核对的过程.
3.
5电子政务外网支撑本市各政务部门业务系统间协同工作的网络平台.
4缩略语下列缩略语适用于本文件.
API应用程序编程接口(ApplicationProgrammingInterface)CA数字证书认证中心(CertificateAuthority)DB4401/T27—20192ESB企业服务总线(EnterpriseServiceBus)SDK软件开发工具包(SoftwareDevelopmentKit)STS安全令牌服务(SecurityTokenService)5共享平台技术要求5.
1接入规定5.
1.
1政务信息共享框架由市、区两级共享平台组成.
5.
1.
2区政务部门业务系统应接入区共享平台.
5.
1.
3市政务部门业务系统、区共享平台应接入市共享平台.
5.
2技术架构5.
2.
1共享平台共享平台在数据交换过程中,通过电子政务外网、统一的交换协议,由中心交换系统和前置交换系统完成跨地区、跨部门应用系统之间的数据交换工作.
政务部门业务系统通过交换桥接系统实现与前置交换系统互联,接入共享平台.
共享平台的技术架构见图1所示,功能如下:a)中心交换系统提供交换数据的可靠传输服务,实现前置交换系统与中心交换系统、前置交换系统之间的数据路由和传送功能;b)前置交换系统提供交换数据的临时存储、写入和读取接口;c)政务部门业务系统与前置交换系统之间通过交换桥接系统进行交换数据的提供和获取.
5.
2.
2电子证照电子证照的技术架构见图2所示,功能如下:a)CA交叉认证平台接入电子证照系统,利用CA认证签章服务;b)电子证照系统提供电子证照数据的存储和管理;c)政务部门业务系统接入电子证照系统,实现发证和用证对接.
5.
3数据交换过程数据交换过程可分为数据提供、数据汇集、数据分发和数据获取四个阶段,交换桥接系统实现数据提供和获取,共享平台实现数据汇集和分发:a)数据提供:数据从提供方的业务系统通过交换桥接系统传输到前置交换系统;b)数据汇集:数据从前置交换系统传输到中心交换系统;c)数据分发:数据从中心交换系统传输到前置交换系统;d)数据获取:数据从前置交换系统通过交换桥接系统传输到使用方的业务系统.
5.
4交换方式类型共享平台支持的交换方式包括:数据库交换、文件交换、Web服务交换和消息交换,其各自特点见表1所示.
DB4401/T27—20193注1:业务库是由各政务部门产生和管理的政务信息资源库.
注2:共享交换库是政务部门提供本部门交换数据、获取其他部门交换数据的临时存储库.
图1共享平台技术架构图2电子证照技术架构DB4401/T27—20194表1交换方式类型交换过程交换方式数据库交换文件交换Web服务交换消息交换数据提供提供方通过交换接口API向共享平台提供数据集.
提供方通过交换接口API向共享平台提供文件.
提供方把提供数据共享Web服务注册到共享平台ESB系统.
提供方通过交换接口API向共享平台提供消息.
数据获取使用方调用交换接口API,获取数据.
使用方调用交换接口API,获取文件.
使用方在共享平台查询到提供方发布的服务,直接调用提供方提供的数据共享Web服务,或调用共享平台的服务代理来使用提供方的服务.
使用方调用交换接口API,获取消息.
适用场景1)实时性要求较低,定期批量交换;2)存放在数据库中的结构化数据.
1)实时性要求较低,数据量大;2)非结构或半结构化数据.
1)实时性要求高,数据量小;2)使用方可通过应答式交换获取所需的部分数据.
1)实时性要求较高,数据量小;2)交换内容格式多变.
约束条件不宜对所有数据内容进行完整性校验.
1)不宜进行实时性较高或频繁变更的数据交换;2)使用方应对数据文件进行解释入库.
1)不宜进行大批量的数据交换;2)不支持增量数据交换;3)提供方提供的Web服务应保持稳定、可靠;4)提供方网络应保持稳定.
1)不宜进行大批量的数据交换;2)交换内容应由提供方和接收方进行打包和解析处理;3)交换任务应有明确的接收方.
5.
5交换调度5.
5.
1概述通过API方式控制数据库交换和文件交换.
共享平台公开交换服务启动的API,政务部门使用API提供消息的接口,向中心交换系统发送一个命令消息,启动或停止一个交换服务,实现即时交换.
命令消息结构见表2所示.
表2命令消息结构属性类型命令消息格式示例TextStringstartService[Name][PARAM]stopService[Name][PARAM]startServiceExTableNameEX_GONGAN_01_CSDJ5.
5.
2交换编码交换编码如下:a)交换节点编码采用接入单位名称的全拼作为编码,编码表见附录A;DB4401/T27—20195b)主题的标识采用表的名称,编码规则是:EX_交换节点编码_2位数字编号_主题名称的简拼,例如:工商行政主管部门共享的第一个主题开业登记信息,EX_GONGSHANG_01_KYDJ.
5.
6共享平台实施要求5.
6.
1前置机配置要求前置机应保持稳定、可靠、高效的运行,配置要求见表3所示.
表3前置机配置基本要求前置机配置基本要求CPU4核2.
4GHz同级或以上内存不少于16G的物理内存硬盘不少于300G的可用硬盘空间做RAID1(≥10,000RPM)网卡100M或以上的双网卡操作系统Linux5.
0或以上版本Windows2003或以上版本数据库达梦7以上版本OracleDatabase10gStandardEditionOne或以上版本Sqlserver2000StandardEdition或以上版本Mysql5.
0或以上版本5.
6.
2网络要求5.
6.
2.
1前置机应接入到电子政务外网,与共享平台中心节点服务器的物理链路互通.
5.
6.
2.
2共享平台中心节点服务器和维护管理工作站应能正常的访问到前置机端口,端口列表见表4所示.
5.
6.
2.
3前置机应能正常的访问到共享平台中心节点服务器的端口,端口列表见表5所示.
5.
6.
2.
4前置机只准许共享平台中心节点服务器和维护管理服务器、政务部门的业务系统服务器和维护管理服务器、交换桥接所部署的服务器进行访问.
表4前置机对共享平台中心节点服务器和维护管理工作站开放的端口列表端口名称端口号SQLServer数据库访问1433Oracle数据库访问1521达梦数据库访问5236FTP访问21FTPS访问989、900DB4401/T27—20196远程控制Telnet22表4前置机对共享平台中心节点服务器和维护管理工作站开放的端口列表(续)端口名称端口号远程控制Windows3389Web服务访问HTTP80、81Web服务访问HTTPS443消息中间件10240~10250、1099、1100表5前置机需要访问共享平台中心节点服务器的端口列表端口名称端口号时间服务123FTP访问21FTPS访问989、900Web服务访问HTTP80、81Web服务访问HTTP(S)443消息中间件10240~10250、1099、11005.
6.
3安全要求5.
6.
3.
1以前置机为交换边界,政务部门应保证业务系统与前置机之间的传输安全性.
5.
6.
3.
2在满足本标准5.
6.
2要求基础上,政务部门应指定并安排前置机管理员,结合政务部门的相关安全制度和措施,防御非法访问和攻击,做好安全审计和监控,保障前置机网络及主机安全.
5.
6.
3.
3政务部门对前置机操作系统、交换数据库、FTP服务等专用访问账户按最小权限原则配置.
5.
6.
3.
4政务部门对前置机的数据库访问账号进行分类,对数据库管理员、数据库操作人员进行身份认证.
5.
6.
3.
5政务部门应制定科学、合理的数据备份策略,采用全量备份和增量备份结合、物理备份和逻辑备份结合的方式,对备份数据进行分类分区存放.
5.
6.
3.
6政务部门应负责对各类计算机病毒的检测与杀灭.
提供病毒免疫方式包括病毒预防、病毒诊断、病毒杀灭、病毒检测等.
5.
6.
3.
7政务部门应结合CA证书对关键数据进行签名、加密处理.
5.
6.
4安装部署要求政务部门业务系统接入共享平台的部署流程及职责分工见图3所示.
政务部门负责部署和实施本部门业务系统与前置机之间的交换桥接,确保交换桥接系统正常运作,具体要求如下:a)提供交换桥接系统部署的软硬件环境(性能要求:云平台标准虚拟机【4核2.
4GHzvCPU、16GB内存、300GB存储空间】以上);DB4401/T27—20197b)协助共享平台实施人员部署和调试前置机.
5.
6.
5日常运行管理要求5.
6.
5.
1政务部门管理员应对交换桥接系统进行日常维护和管理.
根据共享平台管理员提供的账号进行数据的提供和获取,需要更新账号、密码时,通过共享平台进行更新.
5.
6.
5.
2在日常运作中前置机系统因硬件或软件原因出现问题,无法正常运作时,政务部门管理员应及时向共享平台管理员反映,并协助其查找和解决问题.
5.
6.
5.
3政务部门管理员应定期使用管理员账号登录共享平台,查看本部门数据交换的频度及交换情况.
5.
6.
5.
4政务部门管理员发现数据交换有异常时,应以电话、邮件等方式及时向共享平台管理员反映情况.
当确认数据交换出现问题时,应协助共享平台管理员查找和解决问题,检查交换桥接和网络运行是否正常,配合共享平台管理员进行联合调试.
数据交换异常一般有以下情况:a)数据交换量出现剧增或剧减;b)所有交换数据量都为零;c)交换的数据中出现大量重复的数据;d)数据记录条数不一致;e)数据获取失败.
DB4401/T27—20198图3交换桥接部署流程及职责分工6共享平台数据交换要求6.
1数据库交换6.
1.
1提供数据交换桥接系统定期按主题、按批次,把新增数据通过数据接口写入前置交换库,共享平台把数据汇集到中心节点,并按需分发到各授权使用方.
交换桥接系统向前置机交换库添加交换数据时,操作步骤如下:a)准备要提供的数据;b)填写数据提供登记表;c)向前置交换库写入交换数据;d)更新数据提供登记表.
提供数据开发示例和实施说明分别参见附录B的B.
1和B.
2.
6.
1.
2获取数据使用方的交换桥接应根据数据获取回执表,按批次获取由共享平台分发到前置机交换库的交换数据.
按批次获取数据的操作步骤如下:a)查询批次;b)执行获取操作;c)进行业务处理;d)填写获取回执.
获取数据开发示例参见附录B的B.
3.
6.
1.
3数据库结构前置机交换库的表是由共享平台自动创建的,是采用库表交换方式接口的交换桥接设计开发的主要依据.
前置机交换库有以下三种表:a)交换数据表:用于存储政务部门提供和获取的数据;b)数据提供登记表:提供方使用该表登记执行数据提供操作的信息;c)数据获取回执表:使用方根据该表信息按批次获取数据,并使用该表填写数据获取回执.
数据库结构参见附录B的B.
4.
6.
1.
4控制流程政务部门通过数据库交换方式向共享平台提供数据,调用交换接口API向共享平台发送消息命令,具体步骤如下:a)准备要提供的数据;b)计算本批次提供的数据;c)填写数据提供登记表;d)向前置机写入数据;e)更新数据提供登记表;f)调用交换接口API发送消息.
控制流程开发示例参见附录B的B.
5.
DB4401/T27—201996.
1.
5交换接口6.
1.
5.
1开始数据提供接口开始数据提供接口功能是向数据提供登记表写入一条记录,通知共享平台,交换桥接系统已开始一次数据提供操作.
具体参数参见附录B的B.
6.
1.
6.
1.
5.
2结束数据提供接口结束数据提供接口功能是更新数据提供登记表记录,通知共享平台,交换桥接系统已完成一次数据提供操作.
具体参数参见附录B的B.
6.
2.
6.
1.
5.
3开始数据获取接口开始数据获取接口功能是查询数据获取回执表,找出指定主题的未获取的一批数据,获取该批数据的批次信息.
具体参数参见附录B的B.
6.
3.
6.
1.
5.
4结束数据获取接口结束数据获取接口功能是更新数据获取回执表中的一条记录,标记该批次的数据已获取完毕.
具体参数参见附录B的B.
6.
4.
6.
1.
6交换审计6.
1.
6.
1审计内容审计内容按审计分工,可分为两部分:a)由政务部门负责业务系统与交换桥接系统之间数据传输过程的审计:通过交换桥接系统记录的审计日志与业务系统数据量的比对,政务部门可以核对交换桥接系统发送的数据是否与业务系统产生的数据一致;b)由共享平台负责从提供方到使用方数据传输过程的审计:数据传输的每一个环节均记录审计日志,共享平台通过比对审计日志,实现从提供方到使用方数据传输过程的审计.
政务部门可通过电子政务外网访问共享平台查看审计结果.
6.
1.
6.
2审计日志结构审计日志结构参见附录B的B.
7.
6.
1.
7数字证书签名6.
1.
7.
1数字证书签名接入方式在数据交换中加入数字证书签名,实现交换数据的完整性、防篡改、防抵赖的信息安全防护.
提供方与使用方之间的数字证书签名交互流程参见附录B的B.
8.
1.
证书管理表由数字证书管理机构进行统一管理,当政务部门的数字证书有变更时,通知数字证书管理机构进行变更,再由数字证书管理机构同步到各政务部门的加密机,见图4.
DB4401/T27—201910图4数字证书更新流程数字证书签名的接入方式分为两部分:a)提供方提供数据时,增加写入的数据字段(签名值及签名证书序列号字段),字段说明参见附录B的B.
8.
2;b)使用方获取数据前,增加数据校验的逻辑(验证签名值逻辑).
6.
1.
7.
2数据签名实现步骤数据签名实现步骤具体如下:a)将提供的交换数据拼装记录转换成各字段值,数据转换格式及类型参见附录B的B.
8.
3;b)调用密码服务器的签名接口实现数据签名,获取签名值及密码服务器签名证书序列号,对数据进行签名调用接口具体代码示例参见附录B的B.
8.
4;c)将签名值和密码服务器签名证书序列号保存到当前记录的签名值及证书序列号字段中.
6.
1.
7.
3数据验签实现步骤数据验签实现步骤具体如下:a)根据当前记录的证书序列号字段,将获取的交换数据进行拼装,数据转换格式及类型参见附录B的B.
8.
3;b)根据证书序列号对应的密码服务器签名证书,调用密码服务器的验签接口进行验签,对数据进行验签调用接口具体代码示例参见附录B的B.
8.
5.
6.
1.
8异常处理6.
1.
8.
1数据库连接异常6.
1.
8.
1.
1概述交换桥接系统无法正常连接前置机的数据库.
6.
1.
8.
1.
2异常的发生在交换桥接系统连接前置机的数据库提供或者获取数据时,交换桥接系统和前置机网络不可连通或DB4401/T27—201911前置机发生故障都可能导致数据库连接异常的发生.
6.
1.
8.
1.
3异常处理过程数据库连接异常主要由网络断开或前置机故障引发,因此该类故障发生时,政务部门管理员应检查交换桥接系统与前置机间的网络环境,保障网络连通性,并联系共享平台管理员检查前置机,处理故障.
6.
2文件交换6.
2.
1安装SDK进行文件交换应预先安装SDK,具体方法参见附录C的C.
1.
6.
2.
2提供数据文件交换桥接系统调用交换接口API示例代码参见附录C的C.
2.
提供方交换桥接系统提供数据文件过程应遵循以下步骤:a)准备交换文件;b)新建共享平台管理对象;c)调用数据提供函数.
6.
2.
3获取数据文件交换桥接系统调用交换接口API示例代码参见附录C的C.
3.
使用方交换桥接系统获取数据文件过程应遵循以下步骤:a)新建共享平台管理对象;b)获取文件交换数据;c)根据业务需要进行数据处理和入库使用.
6.
2.
4交换接口提供和获取文件,应根据文件批次信息进行操作.
获取文件时,返回文件信息.
文件批次信息、文件信息以及数据提供和获取的接口说明参见附录C的C.
4.
6.
2.
5交换审计审计内容按本标准6.
1.
6.
1执行,审计日志结构参见附录C的C.
5.
6.
2.
6数字证书签名将文件转为byte[]类型,字符集统一为UTF-8,对文件签名和验签都按本标准6.
1.
7.
2b)和6.
1.
7.
3b)执行.
文件中加入签名字段及证书序列号属性示例代码参见附录C的C.
6.
6.
2.
7异常处理6.
2.
7.
1上传或者下载文件异常6.
2.
7.
1.
1概述交换桥接系统无法正常上传或者下载文件.
6.
2.
7.
1.
2异常的发生DB4401/T27—201912在交换桥接系统调用交换接口API上传或者下载文件时,交换桥接系统和前置机网络不可连通或前置机发生故障都可能导致服务不可用异常的发生.
6.
2.
7.
1.
3异常处理过程上传或者下载文件异常主要由网络断开或前置机故障引发,因此该类故障发生时,政务部门管理员应检查交换桥接系统与前置机间的网络环境,保障网络连通性,并联系共享平台管理员检查前置机,处理故障.
6.
2.
8安全要求限制上传的文件类型如下:.
sh.
bat.
war.
jar.
java.
class.
jsp.
asp.
html.
exe.
js.
iso.
php.
tar6.
3Web服务交换6.
3.
1安全令牌服务安全令牌服务能实现Web服务统一身份验证,保障Web服务会话的安全性.
使用方凭安全令牌可安全访问提供方的Web服务.
提供方根据安全令牌验证使用方的身份并在安全会话中回复服务请求.
6.
3.
2服务Ticket应使用服务Ticket的方式以保障Web服务的安全性.
使用服务Ticket方法按附录D的D.
1执行.
6.
3.
3提供Web服务提供方通过Web服务方式提供共享数据的访问,应将Web服务注册到共享平台,并通过审核发布.
提供方的Web服务策略配置和获取调用方身份的方法见附录D的D.
2.
6.
3.
4使用Web服务6.
3.
4.
1使用方登录共享平台,在资源目录模块下浏览和查询Web服务资源.
使用Web服务方法见附录D的D.
3.
6.
3.
4.
2所有Web服务资源必须经过提供方授权才能使用,对未获得授权的资源,使用方应使用管理员账号向提供方发起申请授权,申请授权通过后,再向管理方提出使用申请,申请通过后方可使用Web服务.
6.
3.
4.
3使用方可将XML加密和XML签名等安全机制嵌入到SOAP消息中,保证Web服务消息的完整性和机密性.
6.
3.
4.
4使用方可在消息中加入安全令牌Ticket,根据Ticket对应用户的权限来判断是否能访问服务.
6.
3.
5Web服务代理共享平台提供Web服务代理,提供方应把服务注册到共享平台,共享平台根据服务定义生成Web服务代理程序.
使用方调用共享平台的服务代理,由共享平台服务代理再调用服务提供方的Web服务,把结果返回服务使用方.
服务代理的运行机制见图5所示.
DB4401/T27—201913图5Web服务代理机制6.
3.
6服务调用审计提供方对提供的Web服务记录审计日志,并定期将数据汇总到共享平台备案,返还方式可以选用数据库交换或文件交换提供,提供频率宜为每天一次.
审计日志结构见附录D的D.
5.
6.
3.
7数字证书签名对web服务数据签名和验签按本标准6.
1.
7.
2b)和6.
1.
7.
3b)执行.
提供方应在共享平台注册相应的服务资源目录,并描述数字签名的业务规则.
6.
3.
8异常处理6.
3.
8.
1服务不可用异常6.
3.
8.
1.
1概述WEB服务使用方无法正常访问代理WEB服务.
6.
3.
8.
1.
2异常的发生在WEB服务使用方访问代理WEB服务时,使用方的调用机器和代理服务器网络不可连通或代理服务器、提供方WEB服务的服务器发生故障都可能导致服务不可用的异常发生.
6.
3.
8.
1.
3异常处理过程当网络断开或代理服务器、提供方WEB服务的服务器故障引发该服务不可用时,政务部门管理员应检查交换桥接系统与代理服务器间的网络环境,保障网络连通性,并联系共享平台和提供方管理员检查代理服务器、提供方WEB服务的服务器,处理故障.
6.
3.
8.
2未授权访问异常DB4401/T27—2019146.
3.
8.
2.
1概述WEB服务使用方没有访问服务的Ticket或者未被授权时,访问代理WEB服务会抛出异常并记录日志.
6.
3.
8.
2.
2异常的发生WEB服务使用方访问代理WEB服务时,代理程序会校验访问请求Header的服务Ticket.
当服务Ticket有效时,再校验WEB服务使用方访问该WEB服务的权限.
当服务Ticket无效或者使用方没有被授权访问则会抛出异常并记录日志.
6.
3.
8.
2.
3异常处理过程WEB服务使用方联系共享平台管理员分配服务Ticket并授权对应WEB服务的访问权限,访问代理WEB服务在请求的Header设置已授权的服务Ticket.
6.
4消息交换6.
4.
1安装SDK进行消息交换应预先安装SDK,具体方法见附录E的E.
1.
6.
4.
2消息结构消息数据包由消息头(Header)、消息属性(Properties)、消息内容(Body)及(Attachments)组成,具体说明见附录E的E.
2.
6.
4.
3发送消息政务部门业务系统通过消息交换方式向共享平台提供数据,交换桥接系统按主题把数据封装成为消息数据包,调用交换接口API发送到前置交换系统.
由共享平台将消息即时传输到中心节点,并按指定的目标发送到接收消息的前置交换系统.
发送消息操作步骤如下:a)准备要提供的数据;b)封装消息内容;c)发送消息.
发送消息开发示例及相关说明见附录E的E.
3和E.
4.
6.
4.
4接收消息接收消息的操作步骤如下:a)查询未获取的消息;b)从前置交换系统接收一条消息;c)进行业务处理.
接收消息开发示例及相关说明见附录E的E.
5和E.
6.
6.
4.
5异常处理6.
4.
5.
1服务不可用异常6.
4.
5.
1.
1概述交换桥接系统无法正常打开前置机的消息队列,交换接口API会抛出异常并记录日志.
DB4401/T27—2019156.
4.
5.
1.
2异常的发生在交换桥接系统调用交换接口API发送消息时,交换桥接系统和前置机网络不可连通或前置机发生故障都可能导致服务不可用的异常发生.
交换桥接系统调用交换接口API获取消息时也会产生此类异常.
6.
4.
5.
1.
3共享平台提供的支撑发生异常时,交换接口API会抛出异常,并在审计日志中标记交换失败的消息以及记录异常信息.
6.
4.
5.
1.
4异常处理过程服务不可用的异常主要由网络断开或前置机故障引发,因此该类故障发生时,政务部门管理员应检查交换桥接系统与前置机间的网络环境,保障网络连通性,并联系共享平台管理员检查前置机,处理故障.
在服务可用后,交换桥接系统应继续传输或获取发送失败消息.
对于重新传输消息,交换接口API提供自动重传消息和手工重传消息两种方式(见附录E的E.
7),其中前者是默认方式;对于重新获取消息,使用方交换桥接程序只需再次运行即可完成消息的重新获取.
6.
4.
5.
2非法消息发送异常6.
4.
5.
2.
1概述交换桥接系统发送的消息内容不符合数据格式或指定了非法的目标,交换接口API会抛出异常并记录日志.
6.
4.
5.
2.
2异常的发生交换接口API每一次发送消息时,都会将消息中的数据与事前已在共享平台注册的数据主题进行比对,检查数据项(字段)取值的合法性,对于不合法的数据会抛出消息发送异常.
交换桥接系统在封装消息时指定的目标超出交换节点编码表(见附录A)的取值范围,在消息发送时会抛出非法消息发送异常.
6.
4.
5.
2.
3共享平台提供的支撑发生异常时,交换接口API会抛出异常,并在审计日志中标记交换失败的消息以及记录异常信息.
6.
4.
5.
2.
4异常处理过程异常发生时,政务部门管理员需要分析审计日志中的异常信息,定位造成异常的原因,修正消息内容或发送目标.
修正后,交换桥接系统重新封装消息并发送消息.
6.
4.
5.
3数据量变化异常6.
4.
5.
3.
1概述交换桥接系统向前置机发送的消息数量为0或消息数量较平均值出现大幅波动(如放大或缩小10倍),在共享平台上通过监控手段发现异常.
6.
4.
5.
3.
2异常的发生数据量变化异常主要由共享平台通过对消息交换过程实施每天监控发现,主要包括两种情况:DB4401/T27—201916a)当消息交换量为0时,视为数据量变化异常,例如交换桥接系统运行失败、服务长期不可用、当天实际业务量为0都会引发异常;b)当消息交换量出现大幅波动(如放大或缩小10倍)时,视为数据量变化异常,例如业务高峰日、连续发生非法消息发送异常都会引发数据量变化异常.
6.
4.
5.
3.
3共享平台提供的支撑共享平台对消息交换过程实施每天监控,对消息交换量为0或消息交换量急剧变动的政务部门,通过邮件发送预警提示.
6.
4.
5.
3.
4异常处理过程政务部门管理员在收到预警提示时,应按照提示检查交换桥接系统和业务系统运行情况.
若发现问题应及时处理,并将检查处理情况邮件回复共享平台管理员;若交换桥接系统和业务系统运行均正常,则回复共享平台管理员,说明数据变动属正常情况.
6.
4.
6交换接口交换接口API提供了平台连接、发送消息、接收消息、异常处理、交换审计等五类API,其方法见表6所示,参数说明见附录E的E.
8.
表6交换接口API类型方法平台连接open/close发送消息send接收消息receive/receiveNoWait/hasMoreMessages异常处理existsPendingMessage/sendPendingMessages交换审计getAuditLogs6.
4.
7交换审计审计内容按本标准6.
1.
6.
1执行,审计日志结构见附录E的E.
9.
6.
4.
8数字证书签名消息交换可通过指定的方法获取XML,对XML进行签名和验签.
获取消息体的XML的示例代码见附录E的E.
11.
在消息体中加入签名值字段及证书序列号属性的示例代码见附录E的E.
10.
对消息体签名和验签按本标准6.
1.
7.
2b)和6.
1.
7.
3b)执行.
7电子证照接入要求7.
1概述电子证照系统接口包括安全会话接口、制证签发接口、查询接口和用证接口,主要用于制证签发和用证.
7.
2接入规定DB4401/T27—2019177.
2.
1电子证照分省、市两级部署组成.
7.
2.
2市、区政务部门业务系统按电子证照统一的标准规范接入.
7.
3电子证照安全会话接口电子证照安全会话接口功能是用于部门系统登录,相关参数由电子证照系统管理员根据各部门的系统进行创建后提供给各个接入的部门业务系统使用.
具体参数参见附录F.
1.
7.
4电子证照目录接口要求7.
4.
1查询全省证照目录查询全省证照目录接口功能是查询全省目录数据,获取全省目录清单.
具体参数参见附录F.
2.
1.
7.
4.
2查询地区应开通目录查询地区应开通目录接口功能是查询地区应开通目录数据,获取指定地区的应开通目录清单.
具体参数参见附录F.
2.
2.
7.
4.
3查询部门应开通目录查询部门应开通目录接口功能是查询部门应开通目录数据,获取指定部门的应开通目录清单.
具体参数参见附录F.
2.
3.
7.
5事项与证照关系接口7.
5.
1查询部门事项查询部门事项接口功能是根据主管部门组织机构代码(或统一社会信用代码)查询服务事项列表.
具体参数参见附录F.
3.
1.
7.
5.
2查询事项与证照关系查询事项与证照关系接口功能是根据事项编号查询所需的证照和所签的证照.
具体参数参见附录F.
3.
2.
7.
6电子证照制证接口7.
6.
1创建制证数据创建制证数据接口功能是提供制作证照数据,适用于制证数据的创建.
具体参数参见附录F.
5.
1.
7.
6.
2修改制证数据修改制证数据接口功能是提供修改证照数据,适用于制证数据的修改.
具体参数参见附录F.
5.
2.
注:已签发的证照不能修改.
7.
6.
3删除制证数据删除制证数据接口功能是提供删除证照数据,适用于制证数据的删除.
具体参数参见附录F.
5.
3.
注:已签发的证照不能删除,只能废止.
7.
6.
4添加数据DB4401/T27—201918添加证照接口功能是提供添加证照数据,完成制证数据增加数据.
具体参数参见附录F.
5.
4.
7.
6.
5下载单个下载单个接口功能是根据唯一标识获取单个数据.
具体参数参见附录F.
5.
5.
7.
6.
6下载多个下载多个接口功能是根据电子证照标识码获取证照的所有数据.
具体参数参见附录F.
5.
6.
7.
6.
7修改数据修改数据接口功能是提供修改证照数据,适用于数据的修改.
具体参数参见附录F.
5.
7.
7.
6.
8删除数据删除数据接口功能是提供删除证照数据,适用于数据的删除.
具体参数参见附录F.
5.
8.
7.
6.
9上传PDF文件制证上传PDF文件制作接口功能是提供提交PDF文件,完成电子证照制作.
具体参数参见附录F.
5.
9.
7.
6.
10采集制证数据采集制证数据接口功能是用于政务服务窗口工作人员在收件受理时,采集办事人证照扫描件和证照业务数据,完成证照信息的数据采集工作.
经政务服务窗口采集制证后,证照信息必须经过与证照原件的核验才能变为B级可信等级.
具体参数参见附录F.
5.
10.
7.
6.
11用户上传制证用户上传制证接口功能是用户通过实名认证后,使用实名账户登录办事大厅等系统进行证照扫描件上传或证照业务数据录入,完成C、D级可信等级证照信息的制证动作.
具体参数参见附录F.
5.
11.
注:C级是用户自行上传的证照批文,在申请政务服务事项时需要由政务服务窗口人员核验原件后使用;D级为用户自制材料,由用户承诺对其真实性负责,可在申请政务服务事项时直接使用.
7.
7电子证照生命周期管理接口7.
7.
1签发一张证照签发一张证照接口功能是提供一张证照的签发,适用于一张电子证照的新增.
具体参数参见附录F.
5.
1.
7.
7.
2废止一张证照废止一张证照接口功能是提供一张证照的废止,适用于一张电子证照的废止.
具体参数参见附录F.
5.
2.
注:只有已签发的电子证照才可以废止.
7.
7.
3变更一张证照DB4401/T27—201919变更一张证照接口功能是提供一张证照的变更,适用于一张电子证照数据变更.
具体参数参见附录F.
5.
3.
7.
7.
4加注一张证照加注一张证照接口功能是提供一张证照的加注,适用于一张电子证照的加注.
具体参数参见附录F.
5.
4.
7.
7.
5年检一张证照年检一张证照接口功能是提供一张证照的年检,适用于一张电子证照数据年检.
具体参数参见附录F.
5.
5.
7.
7.
6换证一张证照换证一张证照接口功能是提供一张证照的换证,适用于一张电子证照的更换.
具体参数参见附录F.
5.
6.
7.
7.
7挂失一张证照挂失一张证照接口功能是提供一张证照的挂失,适用于一张电子证照的挂失.
具体参数参见附录F.
5.
7.
7.
7.
8补发一张证照补发一张证照接口功能是提供一张证照的补发,适用于一张电子证照的补发.
具体参数参见附录F.
5.
8.
7.
7.
9吊销一张证照吊销一张证照接口功能是提供一张证照的吊销,适用于一张电子证照的吊销.
具体参数参见附录F.
5.
9.
7.
7.
10注销一张证照注销一张证照接口功能是提供一张证照的注销,适用于一张电子证照的注销.
具体参数参见附录F.
5.
10.
7.
7.
11核验一张证照核验一张证照接口功能是提供政务服务窗口人员核验证照信息,通过核验的证照可信等级变成B级.
B级是已经被政务服务窗口人员核验通过的证照信息,可在申请政务服务事项时重复使用.
具体参数参见附录F.
5.
11.
7.
8电子证照用证服务接口7.
8.
1两页系统用证两页系统用证接口功能是获取指定持证人所有的电子证照清单.
该接口主要在两页(市民个人网页、企业专属网页)系统使用.
使用这个接口必须先登录实名认证系统获取实名登录凭据.
具体参数参见附录F.
6.
1.
7.
8.
2按持证人用证DB4401/T27—201920按持证人用证接口功能是获取指定持证人所有的电子证照清单.
该接口主要在在线申办系统使用.
使用这个接口必须先登录实名认证系统获取实名登录凭据.
具体参数参见附录F.
6.
2.
7.
8.
3委托授权用证委托授权用证接口功能是获取指定办事人(受委托人)所有获得授权使用的电子证照清单.
该接口主要在在线申办系统使用,使用这个接口必须先登录实名认证系统获取实名登录凭据.
具体参数参见附录F.
6.
3.
7.
8.
4依职能查验用证依职能查验用证接口功能是根据事项编码以及办事人身份证件号,获取指定办事人在该事项所需要使用的证照.
该接口主要在部门业务审批办理系统使用.
具体示参数参见附录F.
6.
4.
7.
8.
5监管治理用证监管治理用证接口功能是面向业务部门,提供根据监管治理事项,通过办事人身份证件号码,调用一定范围内的证照.
根据事项编码以及办事人身份证件号,获取指定办事人在该事项所需要使用的证照.
具体参数参见附录F.
6.
5.
7.
8.
6获取证照访问令牌获取电子证照访问令牌接口功能是根据电子证照用证码获取对应电子证照的访问令牌.
具体参数参见附录F.
6.
6.
7.
8.
7提取证照数据提取证照数据的接口功能是根据用证码提取一个电子证照的信息.
具体参数参见附录F.
6.
7.
7.
8.
8归档电子文件归档电子文件接口功能是根据电子证照用证码获取用于归档的电子证照文件(PDF格式).
具体参数参见附录F.
6.
8.
7.
9电子证照页面接口7.
9.
1概述电子证照页面接口部署在互联网或政务外网(以下约定URL地址前缀为{WEB_ROOT}),均采用HTTPSGET方法调用,返回html页面,一般搭配IFrame或弹出页面使用.
7.
9.
2查看电子证照页面查看电子证照页面接口功能是提供显示单个电子证照的详情页面.
具体参数参见附录F.
7.
1.
7.
9.
3按对象查看电子证照页面按对象查看电子证照页面接口功能是提供按持证人显示电子证照详情页面.
具体示例参见附录F.
7.
2.
7.
9.
4审核签发证照页面DB4401/T27—201921审核签发证照页面接口功能是提供签发操作人查看制证数据,完成审核并签发电子证照.
具体参数参见附录F.
7.
3.
附录A(规范性附录)交换节点编码DB4401/T27—201922A.
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所示.
DB4401/T27—201923表A.
2区节点编码序号区简称交换节点编码1白云区政府BAIYUN2从化区政府CONGHUA3海珠区政府HAIZHU4黄埔区政府HUANGPU5花都区政府HUADU6荔湾区政府LIWAN7南沙区政府NANSHA8番禺区政府PANYU9天河区政府TIANHE10越秀区政府YUEXIU11增城区政府ZENGCHENG注:以上区按照交换节点编码的拼音排序.
DB4401/T27—201924附录B(资料性附录)数据库交换B.
1提供数据开发示例B.
1.
1Oracle示例脚本以工商提供开业登记数据主题为例,提供数据操作的Oracle示例脚本如下: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;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;DB4401/T27—201925if@v_sidisnotnullbegin/**写入本批次需要提供的数据,写入的数据量为@v_count条**/insertintoEX_GONGSHANG_01_KYDJ(QYZCH,QYMC,FDDBR,.
.
.
)/**提供完成以后需要通知共享平台**/execSTP_END_PROVIDE@v_sid,@v_count,@v_resultoutput;endelsebeginselect'上一个批次数据提供没有完成,暂时不能提供数据';/**如果您确认当前没有其他程序在提供数据,则可能是上次数据提供操作事务异常中止,没有通知共享平台数据已经提供完成.
这时需要重置上次数据提供操作**/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;DB4401/T27—201926end;B.
2提供数据实施说明B.
2.
1异常处理当调用stp_begin_provide接口,输出参数P_SID为空值时,表示最近一次的数据提供操作仍未结束或者有异常情况发生,应调用stp_get_last_error接口进行异常处理,输出参数有以下三种情况:a)P_RESULT>0,表示数据提供操作已超时或者出错,应调用stp_reset_provide接口进行重置操作,该操作中已写入的数据将自动被废置;b)P_RESULT0)thenEXDB.
STP_RESET_PROVIDE(v_last_sid,v_reset_result);commit;elsif(v_result=:begin_stampandS_LAST_UPDATED=@v_begin_stampandS_LAST_UPDATED=:begin_stampandS_LAST_UPDATED张三4406*SFZHM>2010-12-11字段名统一为大写.
字段的排列顺序按数据标准的顺序.
只有业务字段生成XML,证书序列号、证书签名以及相关的S_GUID,S_LAST_UPDATED等属于内建字段,不生成XML标签.
数据项为空或为NULL时,生成XML标签为空字符串,如"".
表B.
12数据转换类型数据类型ORACLESQLSERVER对应形式字符型VARCHAR2(N)VARCHAR(N)无须转换.
日期型DATEDATETIMEyyyy-MM-dd的形式.
时间戳TIMESTAMP(3)DATETIMEyyyy-MM-ddHH:mm:ss.
SSS的形式.
整数型NUMBERINT直接转换字符串.
浮点型FLOATFLOAT例如1.
25和1.
250都转换为字符串:1.
25.
数字型NUMBER(L,P)DECIMAL(L,P)例如NUMBER(22,2)则保留两位小数,字符串为:1.
20.
文本型CLOBTEXT直接转换字符串.
二进制BLOBIMAGE通过BASE64位转换为字符串.
B.
8.
4数据签名对数据、文件、信息进行签名调用以下接口:示例代码如下:PSIApppsi=newPSIApp();StringsignData=psi.
AdvSignData(i_text,i_inData,i_algoType,i_signType);获取当前密码服务器签名证书证书序列号Stringsign_cert=psij.
AdvGetCert(2);StringxmlCertInfo=psij.
AdvGetCertInfo(sign_cert);intindx1=xmlCertInfo.
indexOf("");intindx2=xmlCertInfo.
indexOf("");DB4401/T27—201939Stringcertsn=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);DB4401/T27—201940附录C(资料性附录)文件交换C.
1安装SDKC.
1.
1获取SDK政务部门可通过https://dc.
gz.
gov.
cn/services或联系共享平台管理员获取共享平台SDK.
共享平台SDK主要由交换接口API类库以及配置文件、帮助文档、开发示例等组成,共享平台SDK目录结构见表C.
1所示.
表C.
1SDK目录结构序号目录路径文件说明1\conf配置文件,包括运行配置:config.
properties2\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.
dllC.
1.
2安装部署共享平台SDK安装部署过程按照以下两步:a)把SDK解包到交换桥接系统所在机器的任一本地目录路径{DIR},如:C:\DatacenterFileClient;b)把{DIR}\lib目录下对应的API类库(dc-file-client.
jar或dc-file-client.
dll)引入到交换桥接系统可访问到的类库目录.
C.
1.
3开发引用在交换桥接系统程序开发中引用交换接口API,语句如下:a)Java版本importgov.
datacenter.
engine.
client;b).
net版本usingGov.
Datacenter.
Engine.
Client;C.
1.
4运行配置交换接口API运行配置主要由一个文件决定:config.
properties.
具体配置如下:#共享平台节点消息通信URIjmsURL=tcp://192.
168.
0.
92:61616DB4401/T27—201941#文件接收队列名称fileQueue=QUEUE.
SERVICE.
GONGSHANG#消息通信用户名jmsUserName=clientuser#消息通信密码jmsPassword=bf659f86182c9ead#共享平台节点通信WEB服务地址wsURL=http://192.
168.
0.
134:8080/WSServiceWorkerAgent/WSServiceWorkerAgentwsdl配置正确的共享平台节点阴影部分,宜采用默认配置.
此配置文件由共享平台分派时先按各节点的前置机信息修改.
C.
2提供数据文件交换桥接调用交换接口API示例代码如下://准备交换数据StringsubjectName="EX_GONGAN_02_LDRYJZ";StringlocalFileName="D:\EX_GONGAN_02_LDRYJZ.
XML";try{//根据配置文件参数创建对象DatacenterFileClientclient=newDatacenterFileClient();client.
provideFile(subjectName,localFileName);}catch(DatacenterException){throw;//异常处理}C.
3获取数据文件交换桥接调用交换接口API示例代码如下:场景一:获取待接收的文件.
//准备交换数据StringsubjectName="EX_GONGAN_02_LDRYJZ";try{//根据配置文件参数创建对象DatacenterFileClientclient=newDatacenterFileClient();FileInfofileInfo=client.
accquireFile(subjectName);//对fileInfo作进一步处理DB4401/T27—201942}catch(DatacenterException){throw;//异常处理}场景二:根据文件名获取文件://准备交换数据StringsubjectName="EX_GONGAN_02_LDRYJZ";try{//根据配置文件参数创建对象DatacenterFileClientclient=newDatacenterFileClient();for(Stringname:client.
getFileNameList(subjectName)){FileInfofileInfo=client.
accquireFile(subjectName,name);//对fileInfo作进一步处理}}catch(DatacenterException){throw;//异常处理}C.
4交换接口C.
4.
1文件批次信息文件批次信息提供时,在来源节点前置机生成相应的记录.
分发后,在目标节点前置机生成相应的记录.
其说明见表C.
2所示.
表C.
2文件批次信息属性说明属性类型说明IdString唯一标识.
DataSubjectNameEnString数据主题标识.
FileNameString文件名.
FilePathString文件目录.
FullPathString文件完整路径.
FileOriginalNameString原始文件名.
DB4401/T27—201943表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[]文件内容.
C.
4.
3数据提供提供数据文件的接口在DataCenterFileClient类中定义,接口名称为provideFile,方法说明见表C.
4所示.
表C.
4provideFile参数方法声明PublicvoidprovideFile()功能描述提供文件.
输入参数StringdataSubjectNameEnStringfileName返回值无.
异常抛出DatacenterExceptionDB4401/T27—201944C.
4.
4数据获取获取数据文件的接口在DataCenterFileClient类中定义,接口有acquireFile和getFileNameList.
其方法说明见表C.
5所示和表C.
6所示.
表C.
5acquireFile参数方法声明PublicFileInfoacquireFile(StringfileName)功能描述根据文件名获取文件.
输入参数StringFileName此参数可以省略.
返回值FileInfofile异常抛出DatacenterException适用于文件可以重复获取的情况,但首先要知道文件名,可以先调用getFileNameList()查找对应的文件名.
当省略参数时,根据前置机上的文件批次信息,获取CheckResult=0的更新日期最早的文件.
表C.
6getFileNameList参数方法声明PublicListgetFileNameList()功能描述获取文件名列表.
输入参数无返回值List异常抛出DatacenterExceptionC.
5审计日志结构文件交换审计日志结构见表C.
7所示.
表C.
7文件交换审计日志结构字段名数据类型允许空缺省值含义说明IDVARCHAR2(50)否唯一标识.
CREATOR_IDVARCHAR2(50)是创建者.
CREATION_TIMEDATE否创建时间.
LAST_MODIFICATOR_IDVARCHAR2(50)是最后更新者.
LAST_MODIFICATION_TIMEDATE否最后更新时间.
DB4401/T27—201945DATA_SUBJECT_IDVARCHAR2(50)否数据主题唯一标识.
SOURCE_NODE_IDVARCHAR2(50)是源节点唯一标识.
表C.
7文件交换审计日志结构(续)字段名数据类型允许空缺省值含义说明DESTINATION_NODE_IDVARCHAR2(50)是目标节点唯一标识.
FILE_NAMEVARCHAR2(50)是文件名.
FTP_PATHVARCHAR2(100)是目的节点.
FILE_SOURCE_IDVARCHAR2(50)是数据源标识.
USER_ACCOUNT_IDVARCHAR2(50)是账号标识.
USER_ACCOUNTVARCHAR2(50)是用户账号.
EXEC_TIMEDATE是执行时间.
EXEC_RESULTINTEGER否执行结果(0:成功;1:失败).
ERROR_MESSAGEVARCHAR2(200)是错误信息.
OPERATION_TYPEINT否操作类型(0:上传;1:下载).
C.
6文件交换签名字段在文件中加入签名值字段及证书序列号属性.
设置属性值示例:DatacenterFileClientclient=newDatacenterFileClient();client.
provideFile(subjectName,localFileName);//设置属性值client.
setSignData(signData);client.
setSignCert(signCert);DB4401/T27—201946附录D(规范性附录)Web服务交换D.
1服务Ticket使用服务Ticket,服务提供方应在发布的Web服务的每一个方法中,增加一个名为ticket的字符串类型参数,服务被调用时,首先验证ticket,有效则返回结果,否则拒绝服务.
使用方使用部门管理员账号,登录共享平台,在信息资源目录中找到所需的Web服务资源,若该资源对使用方授权,则可以申请生成一个访问Ticket,在调用Web服务时作为参数传入.
每个Ticket限定使用时间(一般为一个月)、使用者身份(所属部门)、允许访问的Web服务.
使用方应负责保管Ticket,遗失Ticket后应及时登录共享平台注销Ticket,否则应承担责任.
共享平台提供Ticket在线验证服务,服务WSDL地址为https://dc.
gz.
gov.
cn/services/TicketServicewsdl.
该服务提供vilidateTicket方法,用于验证ticket的有效性,输入ticket,输出ticket是否有效、有效期、使用方身份信息、使用范围(允许访问的Web服务).
D.
2提供Web服务D.
2.
1Web服务策略配置使用共享平台的安全令牌服务,服务提供方的Web服务策略配置如下:https://dc.
gz.
gov.
cn/ws/STShttps://dc.
gz.
gov.
cn/ws/STS/MEXDB4401/T27—201947http://docs.
oasis-open.
org/wss/oasis-wss-saml-token-profile-1.
1#SAMLV1.
1http://schemas.
xmlsoap.
org/ws/2005/02/trust/SymmetricKey256政务部门提供的Web服务交换接口必须遵循WS-IBasicProfile1.
1、WS-Security、WS-Policy、WS-SecureConversation、WS-Trust的规范.
D.
2.
2获取调用方身份服务提供方可从请求上下文的SecurityTokens获取调用方的安全令牌.
采用注入的方式得到Web服务上下文对象:@ResourceprivateWebServiceContextcontext;从Web服务上下文对象中获取调用方的身份标识:/***从Web服务上下文获取调用方的身份信息*@paramcontext*@return*@throwsjava.
security.
cert.
CertificateException*/privatestaticStringgetClient(WebServiceContextcontext)throwsCertificateException{try{Subjectsubj=SubjectAccessor.
getRequesterSubject(context);Setset=subj.
getPublicCredentials();ElementsamlAssertion=null;for(Objectobj:set){if(objinstanceofXMLStreamReader){XMLStreamReaderreader=(XMLStreamReader)obj;samlAssertion=SAMLUtil.
createSAMLAssertion(reader);NodeListlist=samlAssertion.
getElementsByTagName("ds:X509Certificate");DB4401/T27—201948if(list.
getLength()>0){//得到X.
509证书的内容StringcertValue=list.
item(0).
getTextContent();CertificateFactorycf=CertificateFactory.
getInstance("X.
509");BASE64Decoderdecoder=newBASE64Decoder();byte[]buffer=decoder.
decodeBuffer(certValue);InputStreamfisCert=newByteArrayInputStream(buffer);//得到X.
509证书对象X509Certificatecert=(X509Certificate)cf.
generateCertificate(fisCert);//得到证书主体标识名returncert.
getIssuerDN().
getName();}}}}catch(Exceptionex){//异常处理}returnnull;}上述方法,会返回一个字符串,它表示调用方的身份信息,格式为:CN={部门拼音简写},OU={部门拼音全称},O=dc.
gov.
gz.
cn,C=CN.
示例:调用方是市公安局,则上述方法得到的值为:CN=GONGAN,OU=GuangZhouShiGongAnJu,O=dc.
gov.
gz.
cn,C=CN.
D.
3使用Web服务使用共享平台的安全令牌服务,服务使用方的服务策略配置如下:使用共享平台的Web服务代理服务,服务使用方可按照标准的Web服务调用规范进行调用.
Web服务目录查询见表D.
1所示.
表D.
1Web服务目录序号服务目录服务地址URL1共享平台提供的Web服务https://dc.
gz.
gov.
cn/ws/2各成员单位注册的Web服务代理地址https://dc.
gz.
gov.
cn/ws/单位拼音简写/D.
4安全令牌服务策略配置共享平台的安全令牌服务(STS)的服务策略配置如下:36000gov.
datacenter.
ws.
STSGZDCGZDChttp://docs.
oasis-open.
org/wss/oasis-wss-saml-token-profile1.
1#SAMLV1.
1D.
5Web服务审计日志结构Web服务审计日志结构见表D.
2所示.
表D.
2Web服务审计日志结构字段名数据类型允许空含义说明RequstTimeDateTime否服务接收到请求的系统时间.
ResponseTimeDateTime否服务作出响应的系统时间.
MethodString否调用的方法名称.
DepartmentString否调用的部门.
TickectString可空调用时使用的Ticket.
如果Ticket调用,则此项不能为空.
UserNameString可空调用的用户名.
如果使用安全令牌调用,则此项不能为空.
RequstSummaryString可空服务请求摘要信息.
由提供方自行定义摘要信息的结构.
ResponseSummaryString可空服务响应摘要信息.
由提供方自行定义摘要信息的结构.
Resultint否调用结果.
0:成功;1:失败.
ErrorMessageString可空失败信息.
Result不等于0时必须填写.
DB4401/T27—201950附录E(规范性附录)消息交换E.
1安装SDKE.
1.
1获取SDK政务部门可通过https://dc.
gz.
gov.
cn/services或联系共享平台管理员获取共享平台SDK.
共享平台SDK主要由交换接口API类库以及配置文件、帮助文档、开发示例等组成,共享平台SDK目录结构见表E.
1所示.
表E.
1SDK目录结构序号目录路径文件说明1\conf配置文件,包括用户凭证和运行配置.
用户凭证文件:credentials.
properties运行配置文件:dc-client.
properties2\data数据目录,临时存储消息和日志.
2.
1\data\msg消息文件目录.
2.
1.
1\data\msg\pending挂起的消息(应发未发).
2.
1.
2\data\msg\invalid非法的消息(永不发送).
2.
2\data\log交换审计日志目录.
2.
2.
1\data\log\pending未同步的交换审计日志.
3\doc文档目录,包括接入开发实施规范以及API文档.
3.
1\doc\javaJavaAPI文档.
3.
2\doc\dotnetDotnetAPI文档.
4\example示例程序,包括Java和Dotnet版本示例.
4.
1\example\javaJava示例程序.
4.
2\example\dotnetDotnet示例程序.
5\lib交换接口API类库,供交换桥接系统调用.
5.
1\lib\javaJavaAPI类库:dc-client.
jar5.
2\lib\dotnetDotnetAPI类库:dc-client.
dllE.
1.
2安装部署共享平台SDK安装部署过程按照以下三步:a)把SDK解包到交换桥接系统所在机器的任一本地目录路径{DIR},如:C:\DatacenterClient;b)增加系统环境变量DC_CLIENT,设置为{DIR};DB4401/T27—201951c)把{DIR}\lib目录下对应的API类库(dc-client.
jar或dc-client.
dll)引入到交换桥接系统可访问到的类库目录.
E.
1.
3开发引用在交换桥接系统程序开发中引用交换接口API,代码如下:a)Java版本importgov.
datacenter.
messages;importgov.
datacenter.
sdk;b).
net版本usingGov.
Datacenter.
Messages;usingGov.
Datacenter.
Sdk;E.
1.
4运行配置E.
1.
4.
1运行配置文件"dc-client.
properties"#共享平台节点URIServerNode.
URI=tcp://192.
168.
0.
92:61616#共享平台节点名称ServerNode.
Name=GONGSHANG#客户端应用唯一标识Client.
AppID=GONGSHANG-APP#运行模式包括PRD(生产环境)、DEV(开发环境)Client.
Mode=PRD#自动重发挂起未发送的消息Client.
AutoSendPendingMessages=true#自动同步交换审计日志Client.
AutoSendPendingLogs=true#共享平台连接超时设置(以毫秒为单位,1小时)Client.
Connection.
Timeout=3600000#接收消息超时设置(以毫秒为单位,5秒)Client.
Receive.
Timeout=5000配置正确的共享平台节点URI,在开发阶段配置Client.
Mode=DEV,正式上线运行时配置Client.
Mode=PRD,其他可采用默认配置.
E.
1.
4.
2用户凭证文件"credentials.
properties"#用户名和密码DB4401/T27—201952Client.
User=GONGSHANGClient.
Password=ENC(mYRkg+4Q4hua1kvpCCI2hg==)E.
2消息结构E.
2.
1消息头(Header)消息头的属性、类型及说明见表E.
2所示.
表E.
2消息头(Header)属性类型说明MessageIDString消息标识(自动生成).
CorrelationIDString当前消息相应的原消息ID.
MessageTypeString消息类型(自动生成).
SourceNodeString来源节点.
DestinationNodeString目标节点.
BizIDString业务主键(可以为复合主键,用|分割).
BizTimeDateTime业务时间.
SubjectNameString消息对应数据主题名称.
SubjectCodeString消息对应数据主题唯一标识.
AppIDString分配给客户端调用的系统ID.
VersionString接口版本信息(预留).
PriorityInt优先级.
GroupIDString消息分组ID(用于消息分组传输).
GroupSeqInt分组排序(最后一条消息序号为-1).
SignString签名结果.
SignMethodString签名方法.
SignTypeInt签名类型(0:不签名,1:签名,2:参数签名).
CreationTimeDateTime消息创建时间(API自动设置).
IsRedeliveredboolean是否API重发消息(API自动设置).
DeliveredTimeDateTime消息发送时间(API自动设置).
E.
2.
2消息属性(Properties)消息属性说明见表E.
3所示.
DB4401/T27—201953表E.
3消息属性(Properties)属性类型说明PropertiesHashMap不同消息类型有不同的定义属性;也可由交换桥接系统设置的自定义消息属性(NameValue形式).
E.
2.
3消息内容(Body)共享平台SDK支持四种消息内容类型,具体说明见表E.
4所示.
表E.
4消息内容(Body)序号类型适用场景属性类型说明1Text文本消息消息的数据内容是字符串类型TextString消息文本.
2Object对象消息消息的数据内容是可序列化的对象ObjectSerializable可序列化的对象类型(JavaPOJO或者.
Net可序列对象).
3Blob文件消息消息的数据内容是一个文件FileNameString文件名.
FileSizeLong文件大小.
MimeTypeString文件类型.
BinaryDatabyte[]文件二进制.
FilePropertiesHashMap文件自定义属性.
4Composite复合消息消息的数据内容由一个正文和多个附件组成ObjectSerializable可序列化的对象类型(JavaPOJO或者.
Net可序列对象).
AttachementsArrayList列表.
E.
2.
4(Attachements)属性说明见表E.
5所示.
表E.
5(Attachements)属性类型说明FileNameString名FileSizeLong大小MimeTypeString类型DB4401/T27—201954表E.
5(Attachements)(续)属性类型说明BinaryDatabyte[]文件二进制FilePropertiesHashMap自定义属性E.
3发送消息E.
3.
1发送消息的.
NET(C#)开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
Open();//3.
准备发送消息TextMessagemessage=client.
CreateTextMessage();//设置目的节点message.
DestinationNode="DISHUI";//设置消息内容message.
Text="这是一个示例";//TODO设置其它属性//4.
发送消息try{client.
Send(message);}catch(Exceptionex){//TODO:异常处理}//5.
关闭共享平台连接client.
Close();E.
3.
2发送消息的Java开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
open();DB4401/T27—201955//3.
准备发送消息TextMessagemessage=client.
createTextMessage();//设置目的节点message.
setDestinationNode("DISHUI");//设置消息内容message.
setText("这是一个示例");//TODO设置其它属性//4.
发送消息try{client.
send(message);}catch(DatacenterExceptionex){//TODO:异常处理}//5.
关闭共享平台连接client.
close();E.
3.
3发送复合消息的.
NET(C#)开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
Open();//3.
准备发送消息CompositeMessagemessage=client.
CreateCompositeMessage();//设置目的节点message.
DestinationNode="DISHUI";//设置消息内容//共享平台注册对象类型BizObjectbizObject=newBizObject();…message.
Object=bizObject;//TODO设置其它属性//添加message.
AddAttachment("D://Send//一.
txt");DB4401/T27—201956//4.
发送消息try{client.
Send(message);}catch(Exceptionex){//TODO:异常处理}//5.
关闭共享平台连接client.
Close();E.
3.
4发送复合消息的Java开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
open();//3.
准备发送消息CompositeMessagemessage=client.
createCompositeMessage();//设置目的节点message.
setDestinationNode("DISHUI");//设置消息内容//共享平台注册对象类型BizObjectbizObject=newBizObject();message.
setObject(bizObject);//添加message.
addAttachement("D://Send//一.
txt");//TODO设置其它属性//4.
发送消息try{client.
send(message);}catch(DatacenterExceptionex){//TODO:异常处理}//5.
关闭共享平台连接client.
close();E.
4发送消息相关说明DB4401/T27—201957E.
4.
1封装消息交换桥接在发送消息时通过设置消息DestinationNode指定消息发送目标节点,发送目标使用全市统一的编码表示.
编码表由共享平台提供,详见附录A.
通过共享平台发送的消息只能指定一个目标,如同一业务数据需要发送给多个目标时,则需发送多条内容相同目标不同的消息.
通过SubjectCode指明消息对应的数据主题,通过BizID和BizTime设置业务唯一标识和业务发生时间.
E.
4.
2异常处理E.
4.
2.
1非法消息发送异常API会在审计日志中记录异常信息,交换桥接需要定时检查这些日志,修正消息并重新发送,详细的处理方法见本标准6.
4.
5.
2.
4.
E.
4.
2.
2服务不可用异常API会在审计日志中记录异常信息,政务部门应确保交换桥接与前置机网络连通,在交换桥接下一次连接共享平台时,接口API自动重传由于该类异常造成发送失败的消息,政务部门也可通过修改配置,手动重传消息,详细的处理方法见本标准6.
4.
5.
1.
4.
E.
4.
3衔接业务系统交换桥接系统须实现从业务库即时抽取业务数据.
一般情况下,交换桥接系统可以通过以下方式与业务系统衔接:a)定期轮询业务数据库,抽取新增的业务数据发送;b)通过数据库触发器即时发现新增的业务数据并发送.
为保持业务系统与共享平台的松耦合,不建议业务环节(业务系统内部)调用交换接口API发送消息.
E.
5接收消息E.
5.
1同步接收消息E.
5.
1.
1同步接收消息的.
NET(C#)开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
Open();//3.
获取消息try{Messagemessage=client.
Receive();//4.
TODO:处理获取消息,例如写入业务库if(messageisCompositeMessage){CompositeMessagecompMessage=(CompositeMessage)message;//TODO保存复合消息信息DB4401/T27—201958foreach(AttachmentatachmentincompMessage.
Attachments){//TODO保存}}elseif(messageisBlobMessage){BlobMessageblobMessage=(BlobMessage)message;//TODO保存文件消息信息}elseif(messageisObjectMessage){ObjectMessageobjMessage=(ObjectMessage)message;//TODO保存对象消息信息BizObjectbiz=objMessage.
GetObject(typeof(BizObject))asBizObject;}elseif(messageisTextMessage){TextMessagetextMessage=(TextMessage)message;//TODO保存文本消息信息}}catch(Exceptionex){//TODO:异常处理}//5.
关闭共享平台连接client.
Close();E.
5.
1.
2同步接收消息的Java开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
open();//3.
获取消息try{Messagemessage=client.
receive();//4.
TODO:处理获取消息,例如写入业务库if(messageinstanceofCompositeMessage){CompositeMessagecompMessage=(CompositeMessage)message;//TODO保存复合消息信息DB4401/T27—201959for(Attachmentattach:compMessage.
getAttachements()){//TODO保存}}elseif(messageinstanceofObjectMessage){ObjectMessageobjectMessage=(ObjectMessage)message;//TODO保存对象消息信息}elseif(messageinstanceofBlobMessage){BlobMessageblobMessage=(BlobMessage)message;//TODO保存文件消息信息}elseif(messageinstanceofTextMessage){TextMessagetextMessage=(TextMessage)message;//TODO保存文本消息信息}}catch(Exceptionex){//TODO:异常处理}//5.
关闭共享平台连接client.
close();E.
5.
2循环接收消息E.
5.
2.
1循环同步接收消息的.
NET(C#)开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
Open();//3.
获取消息try{//4.
检查是否有更多消息while(client.
HasMoreMessages()){Messagemessage=client.
Receive();DB4401/T27—201960//5.
TODO:处理获取消息,例如写入业务库//等待5秒后继续Thread.
Sleep(5000);Console.
WriteLine("输入y回车继续,请输入");if(!
Console.
ReadLine().
Equals("y"))break;}}catch(Exceptionex){//TODO:异常处理}//6.
关闭共享平台连接client.
Close();E.
5.
2.
2循环同步接收消息的Java开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
open();//3.
获取消息try{while(client.
hasMoreMessages()){Messagemessage=client.
receive();//4.
TODO:处理获取消息,例如写入业务库//等待5秒后继续Thread.
Sleep(5000);}}catch(Exceptionex){//TODO:异常处理}//5.
关闭共享平台连接client.
close();E.
5.
3监听接收消息DB4401/T27—201961E.
5.
3.
1监听接收消息的.
NET(C#)开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
Open();try{//3.
注册监听程序MessageListenerlistener=newMessageListener();client.
Listener+=listener.
OnMessage;client.
StartListener();}catch(Exceptionex){//TODO:异常处理}实现事件委托//////数据获取事件委托///publicoverridevoidOnMessage(Messagemessage){//TODO:处理获取消息,例如写入业务库}E.
5.
3.
2监听获取消息的Java开发示例//1.
初始化交换接口DatacenterClientclient=newDatacenterClient();//2.
打开共享平台连接client.
open();//3.
注册监听程序try{client.
startListener(newMessageListener());}catch(Exceptionex)DB4401/T27—201962{//TODO:异常处理}实现事件监听接口publicvoidonMessage(Messagemessage){//TODO:处理获取消息,例如写入业务库}E.
6接收消息相关说明E.
6.
1接收方式E.
6.
1.
1receive方式在限定时间内同步接收一条消息.
若在指定时间内没有消息到达,系统将返回空值;若指定时间为0时,则系统将一直等待直到有消息到达.
E.
6.
1.
2receiveNoWait方式接收下一条即时消息,若当前没有可接收的消息,系统将立即返回空值.
E.
6.
1.
3onMessage方式有消息到则通知触发接收消息.
E.
6.
2识别消息交换桥接系统接收到消息时,通过SourceNode获知消息来源,通过SubejctCode获取消息对应的数据主题,通过BizID和BizTime获知对应的业务唯一标识和业务发生时间.
E.
6.
3衔接业务系统交换桥接系统接收到消息后,需实现业务相关的消息内容处理(写入业务库或调用相关业务服务).
E.
7服务不可用异常处理E.
7.
1自动重传消息修改配置文件"config.
xml"的"AutoSendPendingMessages=true".
在交换桥接系统下一次打开共享平台连接时,交换接口API就会自动查询待重传的消息并完成重传.
E.
7.
2手工重传消息修改配置文件"config.
xml"的"AutoSendPendingMessages=false".
交换桥接系统可以按需调用交换接口API完成消息重传.
手工重传消息的.
NET开发示例如下://1.
初始化交换接口DatacenterClientclient=newDatacenterClient();DB4401/T27—201963//2.
打开共享平台连接client.
Open();//3.
重传挂起消息try{if(client.
ExistsPendingMessage())client.
SendPendingMessages();}catch(Exceptionex){//TODO:异常处理}//4.
关闭共享平台连接client.
Close();E.
8交换接口E.
8.
1共享平台连接E.
8.
1.
1open打开共享平台连接(Java)为open,其说明见表E.
6所示.
表E.
6打开共享平台连接方法声明publicintopen()throwsDatacenterException功能描述打开共享平台连接,进行用户验证和资源配置.
输入参数无返回值状态代码.
异常抛出(1)DatacenterException:由于内部错误导致打开共享平台连接失败.
(2)InvalidClientException:非法用户导致验证失败,应检查交换接口API配置文件的用户和密码设置.
(3)InvalidNodeException:非法交换节点配置导致,应检查交换接口API配置文件的交换节点设置.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();E.
8.
1.
2close关闭共享平台连接(Java)为close,其说明见表E.
7所示.
DB4401/T27—201964表E.
7关闭共享平台连接方法声明publicvoidclose()功能描述关闭共享平台连接,释放所有占用资源.
输入参数无返回值无异常抛出无调用示例DatacenterClientclient=newDatacenterClient();client.
open();client.
close();注:可在配置文件中设置是否在关闭共享平台连接前自动同步未提交给前置交换系统的交换审计日志以及挂起的消息.
E.
8.
2发送消息发送消息为send,其说明见表E.
8所示.
表E.
8发送消息方法声明publicvoidsend(Messagemessage)throwsDatacenterException功能描述发送消息数据包到指定的目标节点.
目标节点在消息的DestinationNode属性声明.
输入参数message:要发送的消息数据包.
返回值无异常抛出DatacenterException:由于内部错误导致发送消息失败.
InvalidDestinationException:非法目标节点,消息中声明的目标节点无效.
InvalidMessageException:非法消息.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();Messagemessage=client.
createTextMessage();message.
DestinationNode="GONGSHANG";message.
Text="消息内容";client.
send(message);client.
close();E.
8.
3接收消息E.
8.
3.
1同步接收下一条消息DB4401/T27—201965同步接收下一条消息(Java)为receive,其说明见表E.
9所示.
表E.
9同步接收下一条消息(Java)方法声明publicmessagereceive()throwsDatacenterException功能描述同步接收下一条消息.
输入参数无返回值下一条要接收的消息.
异常抛出DatacenterException:由于内部错误导致发送消息失败.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();Messagemessage=client.
receive();Client.
close();注:该方法调用直到有消息要接收或者共享平台连接已关闭才返回.
E.
8.
3.
2在指定时限内接收下一条消息在指定时限内接收下一条消息(Java)为receive,其说明见表E.
10所示.
表E.
10在指定时限内接收下一条消息(Java)方法声明publicmessagereceive(longtimeout)throwsDatacenterException功能描述在指定时限内接收下一条消息.
输入参数timeout:超时时间(以毫秒为单位),0表示永不超时(即同步接收).
返回值下一条要接收的消息.
异常抛出DatacenterException:由于内部错误导致发送消息失败.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();Messagemessage=client.
receive(1000);Client.
close();E.
8.
3.
3接收下一条即时消息接收下一条即时消息(Java)为receiveNoWait,其说明见表E.
11所示.
DB4401/T27—201966表E.
11接收下一条即时消息(Java)方法声明publicmessagereceiveNoWait()throwsDatacenterException功能描述接收下一条即时消息(如果没有消息不等待).
输入参数无返回值返回下一条即时要接收的消息.
当没有消息可即时接收时返回null异常抛出DatacenterException:由于内部错误导致发送消息失败.
InvalidDestinationException:非法目标节点,消息中声明的目标节点无效.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();Messagemessage=client.
receiveNoWait();client.
close();E.
8.
3.
4检查当前是否还有未接收的消息检查当前是否还有未接收的消息(Java)为hasMoreMessages,其说明见表E.
12所示.
表E.
12检查当前是否还有未接收的消息(Java)方法声明publicbooleanhasMoreMessages()throwsDatacenterException功能描述检查当前是否还有未接收的消息.
输入参数无返回值true:存在未接收的消息.
false:不存在未接收的消息.
异常抛出DatacenterException:由于内部错误导致发送消息失败.
调用示例if(client.
hasMoreMessages())Messagemsg=receiveNoWait();E.
8.
4异常处理E.
8.
4.
1检查是否存在挂起的本地消息检查是否存在挂起的本地消息(Java)为existsPendingMessage,其说明见表E.
13所示.
表E.
13检查是否存在挂起的本地消息(Java)方法声明publicbooleanexistsPendingMessage()DB4401/T27—201967表E.
13检查是否存在挂起的本地消息(Java)(续)throwsDatacenterException功能描述检查是否存在挂起在本地的消息.
输入参数无返回值true:当存在挂起的本地消息.
false:当没有挂起的本地消息.
异常抛出DatacenterException:由于内部错误导致检查失败.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();if(existsPendingMessage()){client.
sendPendingMessage();}E.
8.
4.
2发送所有挂起的本地消息发送所有挂起的本地消息(Java)为sendPendingMessages,其说明见表E.
14所示.
表E.
14发送所有挂起的本地消息(Java)方法声明publicintsendPendingMessages()throwsDatacenterException功能描述发送所有挂起的本地消息.
输入参数无返回值成功发送的消息数量.
异常抛出DatacenterException:由于内部错误导致发送消息失败.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();if(existsPendingMessage()){client.
sendPendingMessages();}E.
8.
5交换审计获取指定时间段的交换审计日志(Java)为getAuditLogs,其说明见表E.
15所示.
表E.
15获取指定时间段的交换审计日志(Java)方法声明publicListgetAuditLogs(Datebegin,Dateend)DB4401/T27—201968表E.
15获取指定时间段的交换审计日志(Java)(续)throwsDatacenterException功能描述获取指定时间段的交换审计日志.
输入参数begin:审计开始时间.
end:审计结束时间.
返回值指定时间段的交换审计日志列表.
异常抛出DatacenterException:由于内部错误导致获取失败.
调用示例DatacenterClientclient=newDatacenterClient();client.
open();Listlogs=client.
getAuditLogs();E.
9审计日志结构日志结构字段列表见表E.
16所示.
表E.
16日志结构字段名数据类型含义说明MessageIDString消息唯一标识(共享平台自动生成)CorrelationIDString相关消息标识MessageTypeString消息类型SourceNodeString来源节点DestinationNodeString目标节点CurrentNodeString当前节点BizIDString业务主键(可以为复合主键,用|分割)BizTimeDateTime业务时间SubjectNameString消息对应数据主题名称SubjectCodeString消息对应数据主题唯一标识AppIDString分配给客户端调用的系统IDVersionString接口版本信息(预留)PriorityInt优先级CreationTimeDateTime消息创建时间IsRedeliveredboolean是否API重发消息DB4401/T27—201969表E.
16日志结构(续)字段名数据类型含义说明DeliveredTimeDateTime消息发送时间LogTimeDateTime日志时间LogPhaseString日志阶段LogStatusInt运行结果(成功0,失败1)ErrorCodeString错误类型ErrorMessageString错误信息E.
10消息交换签名字段需要在消息体中加入签名值字段及证书序列号属性.
设置属性值示例:(以ObjectMessage为例)ObjectMessagemessage=client.
createObjectMessage();//设置属性值message.
setProperty("SIGN_DATA",signData);message.
setProperty("SIGN_CERT",signCert);E.
11获取消息体XML在数据签名和验证时,都需要获取消息体的XML.
生成XML示例:(以ObjectMessage为例,其它类型类似)ObjectMessagemessage=client.
createObjectMessage();Personperson=newPerson();person.
setName("张三");.
.
.
message.
setObject(person);//获取XML的值,直接调用message的getText函数Stringxml=message.
getText();DB4401/T27—201970附录F(资料性附录)电子证照交换接口参数F.
1概述F.
1.
1制证签发调用安全会话接口进行登录,登录成功后才能调用其他制证签发接口.
制证部门根据电子证照系统实施人员提供的数据标准和实施码,依次调用电子证照制证签发接口进行制证和签发,如果证照中包含,则需要调用上传接口进行上传.
当已签发的证照数据进行变更时,需对原有的证照进行废置再重新创建新证照;对未签发的证照数据,可以调用注销接口进行删除.
F.
1.
2用证用证接口分为2种方式,第一种是获取电子证照数据后,直接通过获取的数据在部门的业务系统进行重新拼装;第二种是直接调用用证接口获取证照页面url,通过url访问电子证照系统,将相关的页面嵌入部门业务系统页面中.
部门接口需要先调用用证码接口传入实名账号系统的相关信息、用证事项名称和事项编号以及触发此次调用的工作人员信息等信息获取用证码.
通过该用证码可以直接调用获取电子证照数据接口获取电子证照数据,也可以使用该用证码调用电子证照访问令牌获取接口获取访问令牌,使用访问令牌调用电子证照页面接口访问电子证照系统.
F.
2电子证照安全会话接口F.
2.
1安全登录安全登录(security/login)接口参数见表F.
1所示.
表F.
1安全登录(security/login)接口参数请求参数参数名必选类型范围说明app_key是String分配给应用程序的app_keyapp_secret是String分配给应用程序的app_secretaccount是String用户账户名称password是String用户账户密码org_code否String以指定的部门管理员身份登录返回结果参数名必选类型范围说明access_token是String登录成功则返回安全会话访问令牌DB4401/T27—201971F.
2.
2退出登录退出登录(security/logout)接口参数无.
F.
2.
3获取当前已登录用户信息获取当前账号用户信息(security/get_current_user)接口参数见表F.
2所示.
表F.
2获取当前已登录用户信息接口参数返回结果参数名必选类型范围说明data是UserInfo用户信息F.
3电子证照目录接口F.
3.
1查询全省证照目录全省目录(license_item/list)接口参数见表F.
3所示.
表F.
3查询全省证照目录接口参数请求参数参数名必选类型范围说明page_index否Integer返回第几页数据,默认值1page_size否Integer返回数据的每页大小,默认值10,最大值150keyword否String查询关键字(证照名称,目录编制部门,电子证照目录编码)status否LicenseItemStatus证照状态(默认查询已发布,多个时中间以逗号(,)分割)is_open否Boolean开通状态(默认已开通)返回结果参数名必选类型范围说明data是List证照目录F.
3.
2查询地区应开通目录查询地区应开通目录(license_item/)接口参数见表F.
4所示.
DB4401/T27—201972表F.
4查询地区应开通目录接口参数请求参数参数名必选类型范围说明page_index否Integer返回第几页数据,默认值1.
page_size否Integer返回数据的每页大小,默认值10,最大值150.
keyword否String查询关键字(证照名称,目录编制部门,电子证照目录编码).
is_service否Boolean纳入情况返回结果参数名必选类型范围说明data是List证照目录F.
3.
3查询部门应开通目录查询部门应开通目录(/license_item//)接口参数见表F.
5所示.
表F.
5查询部门应开通目录接口参数请求参数参数名必选类型范围说明page_index否Integer返回第几页数据,默认值1.
page_size否Integer返回数据的每页大小,默认值10,最大值150.
keyword否String查询关键字(证照名称,目录编制部门,电子证照目录编码).
is_service否Boolean纳入情况返回结果参数名必选类型范围说明data是List证照目录F.
4事项与证照关系接口F.
4.
1查询部门事项查询部门事项(service_item/list)接口参数见表F.
6所示.
DB4401/T27—201973表F.
6查询部门事项接口参数请求参数参数名必选类型范围说明org_code是String部门组织机构代码(或统一社会信用代码),如果为空,默认指当前登录用户所属的部门.
status是String事项状态返回结果参数名必选类型范围说明data是List事项信息F.
4.
2查询事项与证照关系查询事项与证照关系(service_item/list_service_license)接口参数见表F.
7所示.
表F.
7查询事项与证照关系接口参数请求参数参数名必选类型范围说明service_item_code是String事项编码type是String关联类型(所签0;所需1)返回结果参数名必选类型范围说明data是String事项与证照关系信息F.
5电子证照制证接口F.
5.
1创建制证数据创建制证数据(license/{item_code}/create)接口参数见表F.
8所示.
表F.
8创建制证数据接口参数请求参数DB4401/T27—201974参数名必选类型范围说明data_fields是String证照数据记录表F.
8创建制证数据接口参数(续)请求参数参数名必选类型范围说明operator是Userinfo制证操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号license_group是String照面模版组别名称(支持多个,以逗号隔开)seal_code是String印章编码(支持多个,以逗号隔开)返回结果参数名必选类型范围说明license_code是String电子证照标识码auth_code是String电子证照查验码F.
5.
2修改制证数据修改制证数据(license/{item_code}/update)接口参数见表F.
9所示.
注:已签发的证照不能修改.
表F.
9修改制证数据接口参数请求参数参数名必选类型范围说明license_code是String电子证照标识码data_fields是String证照数据记录operator是Userinfo制证操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号license_group是String照面模版组别名称(支持多个,以逗号隔开)seal_code是String印章编码(支持多个,以逗号隔开)DB4401/T27—201975返回结果:返回公共参数.
F.
5.
3删除制证数据删除制证数据(license/{item_code}/delete)接口参数见表F.
10所示.
注:已签发的证照不能删除,只能废止.
表F.
10删除制证数据接口参数请求参数参数名必选类型范围说明license_code否String电子证照标识码id_code否String证照号码operator是Userinfo制证操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号返回结果:返回公共参数.
license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已注册的电子证照.
F.
5.
4添加数据添加证照(license/{item_code}/create_attachment)接口参数见表F.
11所示.
表F.
11添加数据接口参数请求参数参数名必选类型范围说明license_code是String电子证照标识码name是String名称file_type是String类型(文件后缀)file_data是String数据(base64转码)is_license_image否Boolean是否作为证照电子影像(默认否)is_show_template否Boolean是否保留通用模板(默认是)description否String描述DB4401/T27—201976返回结果参数名必选类型范围说明attachment_code是String唯一标识F.
5.
5下载单个下载单个(license/{item_code}/get_attachment)接口参数见表F.
12所示.
表F.
12下载单个接口参数请求参数参数名必选类型范围说明attachment_code是String唯一标识返回结果参数名必选类型范围说明data是Attachment证件信息F.
5.
6下载多个下载多个(license/{item_code}/list_attachment)接口参数见表F.
13所示.
表F.
13下载多个接口参数请求参数参数名必选类型范围说明license_code是String电子证照标识码返回结果参数名必选类型范围说明data是List证件信息F.
5.
7修改数据修改数据(license/{item_code}/update_attachment)接口参数见表F.
14所示.
表F.
14修改数据接口参数DB4401/T27—201977请求参数参数名必选类型范围说明attachment_code是String唯一标识license_code是String电子证照标识码name是String名称表F.
14修改数据接口参数(续)请求参数参数名必选类型范围说明file_type是String类型(文件后缀)file_data是String数据(base64转码)is_license_image否Boolean是否作为证照电子影像(默认否)description否String描述返回结果:返回公共参数.
F.
5.
8删除数据删除数据(license/{item_code}/delete_attachment)接口参数见表F.
15所示.
表F.
15删除数据接口参数请求参数参数名必选类型范围说明license_code是String电子证照标识码attachment_code是String唯一标识返回结果:返回公共参数.
F.
5.
9上传PDF文件制证上传PDF文件制证(license/{item_code}/pdf_create)接口参数见表F.
16所示.
表F.
16上传PDF文件制证接口参数请求参数参数名必选类型范围说明DB4401/T27—201978请求参数参数名必选类型范围说明file_name是Stringpdf文件名file_data是Stringpdf数据(base64编码)division_code是String业务签发地的行政区划operator是UserInfo制证操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号表F.
16上传PDF文件制证接口参数(续)请求参数参数名必选类型范围说明license_group否String照面模版组别名称seal_code否String印章编码返回结果参数名必选类型范围说明license_code是String电子证照标识码F.
5.
10采集制证数据采集制证数据(license/{item_code}/copy_create)接口参数见表F.
17所示.
表F.
17采集制证数据接口参数请求参数参数名必选类型范围说明data_fields是String电子证照数据记录,包括但不限于以下字段:证照名称,证照号码,持有人身份证件号码,持有人身份证件类型,持有人名称,有效结束日期等.
operator是UserInfo当前用户信息(业务人员信息)service_item_code是String事项编码service_item_name是String事项名称trust_level是String可信等级(C,D)biz_num否String业务流水号DB4401/T27—201979返回结果参数名必选类型范围说明license_code是String电子证照唯一编码auth_code是String电子证照查验码F.
5.
11用户上传制证用户上传制证(license/{item_code}/copy_create)接口参数见表F.
18所示.
表F.
18用户上传制证接口参数请求参数参数名必选类型范围说明data_fields是String电子证照数据记录,包括以下必填字段:证照名称,证照号码,持有人身份证件号码,持有人身份证件类型,持有人名称,有效结束日期.
credential是String实名登录凭据tokentoken_id是String实名登录tokenIdrandom是String实名登录随机数trust_level是String可信等级(C,D)返回结果参数名必选类型范围说明license_code是String电子证照唯一编码auth_code是String电子证照查验码F.
6电子证照生命周期管理接口F.
6.
1签发一张证照签发一张证照(license/{item_code}/sign)接口参数见表F.
19所示.
DB4401/T27—201980表F.
19签发一张证照接口参数请求参数参数名必选类型范围说明license_code否String电子证照标识码id_code否String证照号码operator是Userinfo签发操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号返回结果:返回公共参数.
表F.
19签发一张证照接口参数(续)license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已制证的电子证照,如果存在多条制证的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
2废止一张证照废止一张证照(license/{item_code}/abolish)接口参数见表F.
20所示.
注:只有已签发的电子证照才可以废止.
表F.
20废止一张证照接口参数请求参数参数名必选类型范围说明license_code否String电子证照标识码id_code否String证照号码operator是Userinfo废止操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号返回结果:返回公共参数.
DB4401/T27—201981请求参数参数名必选类型范围说明license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
3变更一张证照变更一张证照(license/{item_code}/change)接口参数见表F.
21所示.
表F.
21变更一张证照接口参数请求参数参数名必选类型范围说明license_code否String原电子证照标识码id_code否String原证照号码data_fields是String变更后的证照数据内容,用于签发新证service_item_code是String事项编码service_item_name是String事项名称表F.
21变更一张证照接口参数(续)请求参数参数名必选类型范围说明biz_num否String对应办件的业务流水号operator是UserInfo变更操作人信息license_group是String照面模版组别名称组别(支持多个,以逗号隔开)seal_code是String印章编码(支持多个,以逗号隔开)attachments否List数据集合返回结果参数名必选类型范围说明license_code是String电子证照标识码auth_code是String电子证照查验码license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
DB4401/T27—201982F.
6.
4加注一张证照加注一张证照(license/{item_code}/annotate)接口参数见表F.
22所示.
表F.
22加注一张证照接口参数请求参数参数名必选类型范围说明license_code否String原电子证照标识码id_code否String原证照号码data_fields是String加注后的证照数据内容,用于签发新证service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号operator是UserInfo加注操作人信息license_code否String原电子证照标识码id_code否String原证照号码data_fields是String加注后的证照数据内容,用于签发新证service_item_code是String事项编码service_item_name是String事项名称表F.
22加注一张证照接口参数(续)请求参数参数名必选类型范围说明biz_num否String对应办件的业务流水号operator是UserInfo加注操作人信息license_group是String照面模版组别名称组别(支持多个,以逗号隔开)seal_code是String印章编码(支持多个,以逗号隔开)attachments否List数据集合返回结果license_code是String电子证照标识码auth_code是String电子证照查验码license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
DB4401/T27—201983F.
6.
5年检一张证照年检一张证照(license/{item_code}/inspect)接口参数见表F.
23所示.
表F.
23年检一张证照接口参数请求参数参数名必选类型范围说明license_code否String原电子证照标识码id_code否String原证照号码data_fields是String年检后的证照数据内容,用于签发新证service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号operator是UserInfo年检操作人信息license_group是String照面模版组别名称组别(支持多个,以逗号隔开)seal_code是String印章编码(支持多个,以逗号隔开)attachments否List数据集合表F.
23年检一张证照接口参数(续)返回结果参数名必选类型范围说明license_code是String电子证照标识码auth_code是String电子证照查验码license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
6换证一张证照换证一张证照(license/{item_code}/renew)接口参数见表F.
24所示.
表F.
24换证一张证照接口参数请求参数参数名必选类型范围说明DB4401/T27—201984请求参数参数名必选类型范围说明license_code否String原电子证照标识码id_code否String原证照号码data_fields是String换证后的证照数据内容,用于签发新证service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号operator是UserInfo换证操作人信息license_group是String照面模版组别名称组别(支持多个,以逗号隔开)seal_code是String印章编码(支持多个,以逗号隔开)attachments否List数据集合返回结果参数名必选类型范围说明license_code是String电子证照标识码auth_code是String电子证照查验码license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
7挂失一张证照挂失一张证照(license/{item_code}/report_loss)接口参数见表F.
25所示.
表F.
25挂失一张证照接口参数请求参数参数名必选类型范围说明license_code否String原电子证照标识码id_code否String原证照号码operator是Userinfo挂失操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号返回结果:返回公共参数.
DB4401/T27—201985请求参数参数名必选类型范围说明license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
8补发一张证照补发一张证照(license/{item_code}/reissue)接口参数见表F.
26所示.
表F.
26补发一张证照接口参数请求参数参数名必选类型范围说明license_code否String原电子证照标识码id_code否String原证照号码data_fields是String补发后的证照数据内容,用于签发新证service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号operator是UserInfo补发操作人信息license_group是String照面模版组别名称组别(支持多个,以逗号隔开)seal_code是String印章编码(支持多个,以逗号隔开)attachments否List数据集合表F.
26补发一张证照接口参数(续)返回结果参数名必选类型范围说明license_code是String电子证照标识码auth_code是String电子证照查验码license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
9吊销一张证照DB4401/T27—201986吊销一张证照(license/{item_code}/revoke)接口参数见表F.
27所示.
表F.
27吊销一张证照接口参数请求参数参数名必选类型范围说明license_code否String电子证照标识码id_code否String证照号码operator是Userinfo吊销操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号返回结果:返回公共参数.
license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
10注销一张证照注销一张证照(license/{item_code}/cancel)接口参数见表F.
28所示.
表F.
28注销一张证照接口参数请求参数参数名必选类型范围说明license_code否String电子证照标识码表F.
28注销一张证照接口参数(续)请求参数参数名必选类型范围说明id_code否String证照号码operator是Userinfo注销操作人信息service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号DB4401/T27—201987返回结果:返回公共参数.
license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
6.
11核验一张证照核验一张证照(license/{item_code}/verify)接口参数见表F.
29所示.
表F.
29核验一张证照接口参数请求参数参数名必选类型范围说明license_code否String电子证照标识码id_code否String证照号码operator是Userinfo当前用户信息(业务人员信息)service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号返回结果:返回公共参数.
license_code和id_code不能同时为空;如果id_code存在多条记录,默认获取已签发的电子证照,如果存在多条已签发的电子证照,则提示报错.
此种情况只能通过license_code的方式进行操作.
F.
7电子证照用证服务接口F.
7.
1两页系统用证两页系统用证(license/webpage)接口参数见表F.
30所示.
表F.
30两页系统用证接口参数请求参数参数名必选类型范围说明page_index否Integer返回第几页数据,默认值1page_size否Integer返回数据的每页大小,默认值10,最大值150license_status否String电子证照状态,多个时用逗号(,)分隔DB4401/T27—201988请求参数参数名必选类型范围说明credential是String实名登录凭据token返回结果参数名必选类型范围说明total_count否Integer记录数data否List电子证照摘要列表auth_codes否List用证码列表F.
7.
2按持证人用证按持证人用证(license/holder)接口参数见表F.
31所示.
表F.
31按持证人用证接口参数请求参数参数名必选类型范围说明service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号credential是String实名登录凭据token返回结果参数名必选类型范围说明total_count否Integer记录数data否List电子证照摘要列表auth_codes否List用证码列表F.
7.
3委托授权用证委托授权用证(license/entrust)接口参数见表F.
32所示.
表F.
32委托授权用证接口参数请求参数参数名必选类型范围说明service_item_code是String事项编码DB4401/T27—201989请求参数参数名必选类型范围说明service_item_name是String事项名称biz_num否String对应办件的业务流水号credential是String受委托人实名登录凭据token返回结果参数名必选类型范围说明total_count否Integer记录数data否List电子证照摘要列表auth_codes否List用证码列表F.
7.
4依职能查验用证依职能查验用证(license/auth)接口参数见表F.
33所示.
表F.
33依职能查验用证接口参数请求参数参数名必选类型范围说明page_index否Integer返回第几页数据,默认值1page_size否Integer返回数据的每页大小,默认值10,最大值150service_item_code是String事项编码service_item_name是String事项名称biz_num否String对应办件的业务流水号operator是UserInfo发起此次用证的业务人员信息,用于记录审计日志identity_number是String证件号码,多个时用逗号(,)分隔返回结果参数名必选类型范围说明total_count否Integer记录数data否List电子证照摘要列表auth_codes否List用证码列表F.
7.
5监管治理用证监管治理用证(license/regulatory)接口参数见表F.
34所示.
DB4401/T27—201990表F.
34监管治理用证接口参数请求参数参数名必选类型范围说明item_code是String事项编码item_name是String事项名称biz_num否String对应办件的业务流水号operator是UserInfo发起此次用证的业务人员信息,用于记录审计日志identity_number是String证件号码,多个时用逗号(,)分隔id_code否String证照号码(证照号码和证件号码不能同时非空)license_name否String证照名称license_division_code否String发证机构所属行政区划代码返回结果参数名必选类型范围说明total_count否Integer记录数data否List电子证照摘要列表auth_codes否List用证码列表F.
7.
6获取证照访问令牌获取证照访问令牌(license/token)接口参数见表F.
35所示.
表F.
35获取证照访问令牌接口参数请求参数参数名必选类型范围说明auth_code是String电子证照用证码返回结果参数名必选类型范围说明expires_in否String如果调用成功,返回访问令牌有效期,格式为yyyy-MM-ddHH:mm:ss.
ffflicense_access_token否String如果调用成功,返回电子证照访问令牌F.
7.
7提取证照数据提取证照数据(license/get_license)接口参数见表F.
36所示.
DB4401/T27—201991表F.
36提取证照数据接口参数请求参数参数名必选类型范围说明auth_code是String电子证照用证码返回结果参数名必选类型范围说明data否License电子证照F.
7.
8归档电子文件归档电子文件(license/archive)接口参数见表F.
37所示.
表F.
37归档电子文件接口参数请求参数参数名必选类型范围说明auth_code是String电子证照用证码file_type否String电子文件类型(PDF格式)返回结果参数名必选类型范围说明file_name是Stringpdf文件名file_data是Stringpdf文件内容数据(base64编码)F.
8电子证照页面接口F.
8.
1查看电子证照页面查看电子证照页面(license/view_license)接口参数见表F.
38所示.
DB4401/T27—201992表F.
38查看电子证照页面接口参数请求参数参数名必选类型范围说明license_access_token是String电子证照访问令牌返回结果:单个电子证照的详情页面.
此接口所使用的证照访问令牌必须由用证接口(两页系统用证、按持证人用证、委托授权用证、依职能查验用证)生成的auth_code换取.
F.
8.
2按对象查看电子证照页面按对象查看电子证照页面(license/view_holder)接口参数见表F.
39所示.
表F.
39按对象查看电子证照页面接口参数请求参数参数名必选类型范围说明license_access_token是String电子证照访问令牌返回结果:电子证照的详情页面.
F.
8.
3审核签发证照页面审核签发证照页面(license_biz/sign_license)接口参数见表F.
40所示.
表F.
40审核签发证照页面接口参数请求参数参数名必选类型范围说明license_access_token是String电子证照访问令牌返回结果:单个电子证照的详情页面.
此接口所使用的证照访问令牌必须由制证接口(创建制证数据)和生命周期接口(变更一张证照、加注一个证照、年检一张证照、换证一个证照、补发个证照)生成的auth_code换取.
justhost怎么样?justhost是一家俄罗斯主机商,2006年成立,提供各种主机服务,vps基于kvm,有HDD和SSD硬盘两种,特色是200Mbps不限流量(之前是100Mbps,现在升级为200Mbps)。下面是HDD硬盘的KVM VPS,性价比最高,此外还有SSD硬盘的KVM VPS,价格略高。支持Paypal付款。国内建议选择新西伯利亚或者莫斯科DataLine。支持Paypal付...
Megalayer 商家我们还算是比较熟悉的,商家主要业务方向是CN2优化带宽、国际BGP和全向带宽的独立服务器和站群服务器,且后来也有增加云服务器(VPS主机)业务。这次中秋节促销活动期间,有发布促销活动,这次活动力度认为还是比较大的,有提供香港、美国、菲律宾的年付VPS主机,CN2优化方案线路的低至年付159元。这次活动截止到10月30日,如果我们有需要的话可以选择。第一、特价限量年付VPS主...
点击进入亚云官方网站(www.asiayun.com)公司名:上海玥悠悠云计算有限公司成都铂金宿主机IO测试图亚洲云Asiayun怎么样?亚洲云Asiayun好不好?亚云由亚云团队运营,拥有ICP/ISP/IDC/CDN等资质,亚云团队成立于2018年,经过多次品牌升级。主要销售主VPS服务器,提供云服务器和物理服务器,机房有成都、美国CERA、中国香港安畅和电信,香港提供CN2 GIA线路,CE...
sqlserver2000挂起为你推荐
操作http德国iphone禁售令德国IPHONE多少钱?急~cisco2960配置cisco4506与2960的vlan配置cisco2960配置Cisco2960是二层交换机,怎么可以进入配置界面进行配置。不是说二层交换机不需要配置吗?cisco2960思科2960如何划分vlan?全国企业信息查询全国企业信用信息公示系统查询入口 及操作说明哪里有?字节跳动回应TikTok易主抖音字节跳动是什么意思?字节跳动回应TikTok易主互动百科被字节跳动收购意味着什么?curl扩展linux上怎么操作开启php curl扩展厦门三五互联科技股份有限公司厦门三五互联科技股份有限公司怎么样?
长沙域名注册 2014年感恩节 vmsnap3 腾讯云数据库 日志分析软件 网站实时监控 免费全能空间 新家坡 phpmyadmin配置 福建铁通 怎么建立邮箱 raid10 双线asp空间 登陆空间 cxz lamp是什么意思 深圳域名 万网主机 shuangcheng winds 更多