关于XML请求及响应文档的说明
关于REQUEST_0001_UPLOAD文档的说明... 5
关于XML请求及响应文档的说明
版本:1.0
关于XML(超文本标记语言)的相关概念和知识及应用,请查看有关的专业文档及资料,这里假设读者已经具备了XML的相关背景知识。
软件系统的上传、查询、修改 、撤消等各种功能在正式运行时,会根据国家发改委和公安部的相关要求,设定一定的管理规则,以便有效而合理地限定、控制、管理企业的合格证数据的上传、查询、修改、撤消,有关部门正在进一部讨论这些管理规则,当正式的管理规则出台后,我们将通过各种渠道及时通知企业。
下面讨论XML文档的相关问题时,不会深入这些具体的管理规则,而集中在试运行期间的XML文档的数据交换规则上面。
相关的管理规则最终确定后,可能需要调整部分的XML文档,请随时关注我们的网站(www.vidc.info),以获取最新动态和信息。
为了便于广大用户能够清晰地理解我们定义的XML交换规则,为了方便广大用户的二次开发,我们提供了XML文件交互网上测试系统。建议用户先登录我们提供的测试系统,通过具体的例子来理解我们的交换规则。首先熟悉我们的交换规则应该对用户的二次开发有好处。
有关测试系统的详细信息,请登录我们的网站:www.vidc.info。
上传及修改流程请求与响应的XML文档
关于上传及修改的说明
目前,上传和修改在软件系统上是这样设定的:如果在上传时,服务器上已存在对应的合格证数据,那么将用上传的数据覆盖已有的数据;如果在修改时,服务器上不存在对应的合格证数据,则将把对应的数据按照新的记录存入数据库。
以上规则不是软件系统正式运行后合格证上传、修改的管理规则,是方便企业试运行而设定的规则。有关正式运行时上传及修改的规则,正在进行讨论和协商,协商的结果将及时挂在我们的网上(www.vidc.info),正式的管理规则可能会造成数据交换的XML的部分调整,请随时关注我们的网站。
上传及修改的请求
上传或修改流程的请求XML文档为:
<?xml version="1.0" encoding="GB2312"?>
<Upload>
<UploadType>upload/update</UploadType>
<Table>
<Record>
<_1_CLZTXX>******</_1_CLZTXX>
<_2_ZCHGZBH>******</_2_ZCHGZBH>
<_101_WZHGZBH>******</_101_WZHGZBH>
<_3_DPHGZBH>******</_3_DPHGZBH>
<_4_FZRQ>2005-2-2 22:22:22</_4_FZRQ>
<_5_CLZZQYMC>******</_5_CLZZQYMC>
<_6_QYID>******</_6_QYID>
<_7_CLLX>******</_7_CLLX>
<_8_CLMC>******</_8_CLMC>
<_9_CLPP>******</_9_CLPP>
<_10_CLXH>******</_10_CLXH>
<_11_CSYS>******</_11_CSYS>
<_12_DPXH>******</_12_DPXH>
<_13_DPID>******</_13_DPID>
<_14_CLSBDH>******</_14_CLSBDH>
<_15_CJH>******</_15_CJH>
<_16_FDJH>******</_16_FDJH>
<_17_FDJXH>******</_17_FDJXH>
<_18_RLZL>******</_18_RLZL>
<_19_PFBZ>******</_19_PFBZ>
<_20_PL>******</_20_PL>
<_21_GL>******</_21_GL>
<_22_ZXXS>******</_22_ZXXS>
<_23_QLJ>******</_23_QLJ>
<_24_HLJ>******</_24_HLJ>
<_25_LTS>******</_25_LTS>
<_26_LTGG>******</_26_LTGG>
<_27_GBTHPS>******</_27_GBTHPS>
<_28_ZJ>******</_28_ZJ>
<_29_ZH>******</_29_ZH>
<_30_ZS>******</_30_ZS>
<_31_WKC>******</_31_WKC>
<_32_WKK>******</_32_WKK>
<_33_WKG>******</_33_WKG>
<_34_HXNBC>******</_34_HXNBC>
<_35_HXNBK>******</_35_HXNBK>
<_36_HXNBG>******</_36_HXNBG>
<_37_ZZL>******</_37_ZZL>
<_38_EDZZL>******</_38_EDZZL>
<_39_ZBZL>******</_39_ZBZL>
<_40_ZZLLYXS>******</_40_ZZLLYXS>
<_41_ZQYZZL>******</_41_ZQYZZL>
<_42_EDZK>******</_42_EDZK>
<_43_BGCAZZDYXZZL>******</_43_BGCAZZDYXZZL>
<_44_JSSZCRS>******</_44_JSSZCRS>
<_45_QZDFS>******</_45_QZDFS>
<_46_HZDFS>******</_46_HZDFS>
<_47_QZDCZFS>******</_47_QZDCZFS>
<_48_HZDCZFS>******</_48_HZDCZFS>
<_49_ZGCS>******</_49_ZGCS>
<_50_CLZZRQ>2005-5-2 18:21:55</_50_CLZZRQ>
<_51_BZ>******</_51_BZ>
<_52_QYBZ>******</_52_QYBZ>
<_53_CPSCDZ>******</_53_CPSCDZ>
<_54_QYQTXX>******</_54_QYQTXX>
<_55_CZRQ>2005-5-2 18:22:03</_55_CZRQ>
</Record>
</Table>
</Upload>
关于上传或修改流程的说明
1、第一行<?xml version="1.0" encoding="GB2312"?>是合法的XML必须具有的。
2、元素的说明:
Upload:(<Upload>…</Upload>)表示该文档主体的开始和结束
UploadType :(<UploadType>upload</UploadType>)表示数据是上传(upload)还是修改(update)
Table:(<Table>…</Table>)包含若干个Record元素,每个文档中,只有一个该元素
Record :<Record>…</Record>表示一条记录,目前由56个字段组成
参数元素:形如<_1_CLZTXX>的元素。其中CLZTXX表示车辆状态信息,1表示该参数的编号,也就是说上传XML文档(包括后面的相关XML文档中)的参数元素把参数的编号和参数的字母表示连接起来,共同构成一个元素。
注意:
参数的编号见下面的字段说明,从上面的文档也可以看出来。
请严格遵守我们的参数命名规则和参数编号顺序,由于参数命名不对或参数编号不对带来的程序运行异常,由企业自己承担责任和自行解决发生的各种问题。
3、关于目前上传的合格证数据的字段的有关说明
CLZTXX------车辆状态信息(参数编号: 1)
ZCHGZBH------整车合格证编号(参数编号: 2)
DPHGZBH------底盘合格证编号(参数编号: 3)
WZHGZBH------完整合格证编号(参数编号: 101)
FZRQ------发证日期4(参数编号: 4)
CLZZQYMC------企业名称(参数编号: 5)
QYID------企业ID(参数编号: 6)
CLLX------车辆类型(参数编号: 7)
CLMC------车辆名称(参数编号: 8)
CLPP------车辆品牌(参数编号: 9)
CLXH------车辆型号(参数编号: 10)
CSYS------车辆颜色(参数编号: 11)
DPXH------底盘型号(参数编号: 12)
DPID------底盘ID(参数编号: 13)
CLSBDH------车辆识别代号(参数编号: 14)
CJH------车架号(参数编号: 15)
FDJH------发动机号(参数编号: 16)
FDJXH------发动机型号(参数编号: 17)
RLZL------燃料种类(参数编号: 18)
PFBZ------排放标准(参数编号: 19)
PL------排量(参数编号: 20)
GL------功率(参数编号: 21)
ZXXS------转向型式(参数编号: 22)
QLJ------前轮距(参数编号: 23)
HLJ------后轮距(参数编号: 24)
LTS------轮胎数(参数编号: 25)
LTGG------轮胎规格(参数编号: 26)
GBTHPS------钢板弹簧片数(参数编号: 27)
ZJ------轴距(参数编号: 28)
ZH------轴荷(参数编号: 29)
ZS------轴数(参数编号: 30)
WKC------外廓长(参数编号: 31)
WKK------外廓宽(参数编号: 32)
WKG------外廓高(参数编号: 33)
HXNBC------货厢内部长(参数编号: 34)
HXNBK------货厢内部宽(参数编号: 35)
HXNBG------货厢内部高(参数编号: 36)
ZZL------总质量(参数编号: 37)
EDZZL------额定载质量(参数编号: 38)
ZBZL------整备质量(参数编号: 39)
ZZLLYXS------载质量利用系数(参数编号: 40)
ZQYZZL------准牵引总质量(参数编号: 41)
EDZK------额定载客(参数编号: 42)
BGCAZZDYXZZL------外挂车鞍座最大允许总质量(参数编号: 43)
JSSZCRS------驾驶室准乘人数(参数编号: 44)
QZDFS------前制动方式(参数编号: 45)
HZDFS------后制动方式(参数编号: 46)
QZDCZFS------前制动操作方式(参数编号: 47)
HZDCZFS------后制动操作方式(参数编号: 48)
ZGCS------最高车速(参数编号: 49)
CLZZRQ------车辆制造日期(参数编号: 50)
BZ------备注(参数编号: 51)
QYBZ------企业标准(参数编号: 52)
CPSCDZ------产品生产地址(参数编号: 53)
QYQTXX------企业其它信息(参数编号: 54)
CZRQ------操作日期(参数编号: 55)
备注:
目前,参数编号仅在少数几个文档中使用,但是无论其目的和作用是什么,请企业严格遵守。
再次声明:请严格遵守我们的参数命名规则和参数编号顺序,由于参数命名不对或参数编号不对带来的程序运行异常,由企业自己承担责任和自行解决发生的各种问题。
4、目前,修改的XML请求文档与上传的XML请求文档几乎完全一致,只是对于上传请求,<Upload>upload</Upload>,而对于修改请求,则是<Upload>update</Upload>。
5、由于修改合格证数据的管理规则有关部门正在协商,所以正试版本的修改请求XML文档可能会发生变化。请随时关注我们的网站(www.vidc.info),以获取最新的信息。
上传及修改的响应
下面,先列举一个详细的包含各种情况的关于上传数据请求的响应文档,然后再针对各种可能的情况,逐一讨论。
完备的上传(或修改)的响应文档
<Response>
<ResponseCode>2000/2500/3000/5000(服务响应码)</ResponseCode>
<ResponseDigest>服务响应摘要信息</ResponseDigest>
<ResponseDetails>服务响应详细信息</ResponseDetails>
<Upload_Response>
<Code>200/201/300/400/500(数据处理响应码)</Code>
<Info>
<Digest>数据处理响应摘要信息</Digest>
<Details>数据处理响应详细信息</Details>
</Info>
<Success>
<InsertTab>
<Record>成功新增的合格证编号</Record>
<Record>成功新增的合格证编号</Record>
</InsertTab>
<UpdateTab>
<Record>成功修改的合格证编号</Record>
<Record>成功修改的合格证编号</Record>
</UpdateTab>
</Success>
<Error>
<Record>
<Number>发生错误的合格证编号</Number>
<Information>发生错误的原因或相关信息</Information>
</Record>
<Record>
<Number>发生错误的合格证编号</Number>
<Information>发生错误的原因或相关信息</Information>
</Record>
</Error>
</Upload_Response>
</Response>
关于响应文档的解释
1、一个完备响应文档的所有元素信息在上面已经完全列举出来了。
2、响应文档有两个重要的部分:“服务响应部分”和“数据处理响应部分”(其它流程也如此)。
“服务响应部分”,即:
<ResponseCode>2000/2500/3000/5000(服务响应码)</ResponseCode>
<ResponseDigest>服务响应摘要信息</ResponseDigest>
<ResponseDetails>服务响应详细信息</ResponseDetails>
“数据处理响应部分”,即:
<Upload_Response>
……
</Upload_Response>
服务响应:
标志整个软件运行的状态。只用当服务响应码是2000时,才表示软件进行了实际的数据分析和处理操作。当服务响应码是其它值时,表示由于各种异常,软件没有进行实际的数据分析和处理,相当于在 “系统外围”就发生了错误。
数据处理响应:
提交的请求被成功地解析,系统进行了实际的数据分析和处理。实际的数据分析和处理的结果在
3、服务响应码目前只有四个值,即2000/2500/3000/5000,详细解释如下:
2000:表示软件各种环境正常(数据库正常、软件运行所依赖的各种环境及条件具备等)、数据流处理成功,XML请求具备指定的格式,满足相关的约束条件,从而进行了进一步的数据处理操作。进一步的操作表示可以提取请求中的数据,从而执行了实际上的数据分析和数据库操作等操作。
2500/3000/5000表示不同等级的错误,具体如下:
5000表示处理请求的过程发生极其严重的错误,使得软件系统根本就不可能执行进一步的数据分析及处理操作。
例如请求的内容根本就不是合法的XML文档(如用户不小心把一个图片作为“请求文档”提交到服务器),或者数据库没有正常启动、软件运行所依赖的各种环境和条件没有满足(例如找不到参数配置文件,或配置文件不正确,没有相应的文件或文件夹的读写权限等)等,这些情况都可以导致软件系统无法进行正常的操作,从而反馈给用户5000错误。
3000是比5000低一个层次的错误,表示上传的请求虽然被接受,但是不能正常完成用户的请求。例如:如果用户登录系统后,长时间不进行任何操作,此时就会发生“会话超时”,这时软件系统会有如下响应:
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>3000</ResponseCode>
<ResponseDigest>用户不合法</ResponseDigest>
<ResponseDetails>info=Info-0003:用户不合法,请确认用户是否登录过时或者非法</ResponseDetails>
</Response>
2500表示成功地完成了用户的请求,这些请求不属于数据处理的范围内。例如:如果用户登录系统后,在会话没有超时的时候,选择退出系统,则正常情况下会收到如下的反馈:
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>2500</ResponseCode>
<ResponseDigest>成功退出</ResponseDigest>
<ResponseDetails>成功退出,如果还要进行其它操作,请重新登录!</ResponseDetails>
</Response>
以上解释适合所有流程的“服务响应部分”
4、数据处理响应码目前有了四个值,即200/201/300/400/500,详细解释如下:
200:表示数据处理成功
201:表示数据处理正常完成,但是有些地方用户要注意,因为可能与用户期望的处理有不一致的地方。
例如,当用户上传合格证数据时,由于有可能服务器上已经存在对应的合格证编号,所以按照用户的意图,本来应该是新增数据的,但是实际上变成了修改数据了。这时的数据处理响应码就是201。
300:表示数据处理过程中出现错误,但是并不是致命的错误。
例如:假设用户要上传50条合格证数据,结果在处理其中几条数据时出现了错误,而其它数据都正常上传,在这种情况下,数据处理的响应代码就是300。
400:表示数据的合法性有问题,也就是检查xml文档中相应的元素值是否合法。例如日期字段不合法,数据字段长度超过限制,合格证编号规则不对等问题发生时,数据处理的响应代码就是400。
目前,对于一个数据包中的合格证数据,如果其中有一条数据的合法性有问题,则整个数据包将不会进一步处理。
500:表示数据处理过程中发生严重错误。
5、关于几个元素的解释:
上述文档中,以下部分是每个执行了具体的数据处理的响应文档都具备的。
<Code>200/201/300/500(数据处理响应码)</Code>
<Info>
<Digest>数据处理响应摘要信息</Digest>
<Details>数据处理响应详细信息</Details>
</Info>
它们共同的作用是提示用户数据处理的相关信息。
6、实际上的响应文档可能没有上面列举的部分元素。具体情况如下描述:
如果在没有进行实际的数据操作前就发生了错误(例如数据库没有正常启动,软件系统找不到相应的文件或目录等),这时的响应文档就只有服务响应码、服务响应摘要信息、服务响应详细信息,而“具体流程的响应信息”部分为空。也就是这种情况的响应文档如下所示:
<Response>
<ResponseCode>2500/3000/5000(服务响应码)</ResponseCode>
<ResponseDigest>服务响应摘要信息</ResponseDigest>
<ResponseDetails>服务响应详细信息</ResponseDetails>
</Response>
7、对于其它流程的相应,例如查询、撤销合格证数据,其下列部分相同:
<Response>
<ResponseCode>2000/2500/3000/5000(服务响应码)</ResponseCode>
<ResponseDigest>服务响应摘要信息</ResponseDigest>
<ResponseDetails>服务响应详细信息</ResponseDetails>
具体流程的响应信息
</Response>
也就是说,无论哪个流程的响应,其都包含上述部分,只是“具体流程的响应信息”部分不同而已。
对于还没有进行数据的实际处理就发生错误的情况,例如数据库没有正常启动,软件系统找不到相应的文件或目录等,此时的响应文档如前所述,即“具体流程的响应信息”部分为空。
对于查询流程,响应文档大致如下:
<Response>
<ResponseCode>2000/2500/3000/5000(服务响应码)</ResponseCode>
<ResponseDigest>服务响应摘要信息</ResponseDigest>
<ResponseDetails>服务响应详细信息</ResponseDetails>
<Query_Response>
……
</Query_Response>
</Response>
有关查询流程的响应文档的详细介绍,请看后面的论述。
对于撤销流程,响应文档大致如下:
<Response>
<ResponseCode>2000/2500/3000/5000(服务响应码)</ResponseCode>
<ResponseDigest>服务响应摘要信息</ResponseDigest>
<ResponseDetails>服务响应详细信息</ResponseDetails>
<Delete_Response>
……
</Delete_Response>
</Response>
有关撤销流程的响应文档的详细介绍,请看后面的论述。
8、由于查询流程、撤销流程的响应文档的有关部分(即“服务响应部分”)与上传(及修改)流程一致,所以其关于ResponseCode(服务响应码)的解释就如上面所以,即几个流程的“服务响应部分”是统一的。
对于用户处理反馈的XML文档的几个提示
关于服务响应码的处理:
用户只需要深入处理服务响应码为2000的反馈文档。
当服务响应码为2500/3000/5000时,用户只需要提取ResponseDigest和ResponseDetails数据以提示用户就可以了。它们的处理方式是一样的,这样就给开发带来了很大的方便,也即无论发生什么异常,处理方式都是一样的。
当服务响应码为2000时,则反馈文档里可能包含了进一步的信息,需要具体情况具体分析。
关于数据处理响应码的处理:
用户需要深入处理数据处理响应码为200/201/300的反馈文档。
当数据处理响应码为400/500时,用户只需提取Digest和Details数据以提示用户就可以了。
当数据处理响应码为200/201/300时,则反馈文档里可能包含了进一步的信息,需要具体情况具体分析。
查询流程请求与响应的XML文档
关于查询的请求
一共有三种类型的查询:合格证编号数据查询;合格证车型查询;合格证日期查询(目前提供两种日期数据查询即:操作日期、上传日期查询;车辆制造日期、发证日期的数据查询暂时不提供)。
合格证编号数据查询
<?xml version="1.0" encoding="GB2312"?>
<Query_Request>
<QuerySize>10(查询请求响应结果每页显示数量)</QuerySize>
<QueryPage>1(查询请求的页码)</QueryPage>
<Record>
<QueryContentType>VC_ID</QueryContentType>
<QueryID_Single>合格证编号</QueryID_Single>
</Record>
</Query_Request>
注意:对于每种类型的查询,都应该加上QuerySize和QueryPage元素,并且保证其数据类型是正整数。对于QuerySize,服务器上将限制其最大值为50。
合格证车型查询
<?xml version="1.0" encoding="GB2312"?>
<Query_Request>
<QuerySize>10</QuerySize>
<QueryPage>1</QueryPage>
<Record>
<QueryContentType>Type</QueryContentType>
<QueryVehType>车型</QueryVehType>
</Record>
</Query_Request>
合格证日期查询
<?xml version="1.0" encoding="GB2312"?>
<Query_Request>
<QuerySize>10</QuerySize>
<QueryPage>1</QueryPage>
<Record>
<QueryContentType>Date</QueryContentType>
<QueryDateAndTimeType>OperationDate/ UploadDate/ GetCertificateDate/ ProduceDate(目前仅提供前面两种查询)</QueryDateAndTimeType>
<QueryDate1>2004-06-09(起始日期)</QueryDate1>
<QueryTime1>16:22:55(起始时间)</QueryTime1>
<QueryDate2>2005-09-09(截止日期)</QueryDate2>
<QueryTime2>16:22:55(截止时间)</QueryTime2>
</Record>
</Query_Request>
注意:
务必保证起始日期、起始时间、截止日期、截止时间的合法性,其格式应该与上述一致。
再次声明:无论是那种查询,虽然实际情况可能不需要QuerySize或QueryPage,但是为了统一,我们要求用户必须在查询文档中加上这两个元素。
关于查询的响应
查询的完整响应如下:
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>2000/2500/3000/5000</ResponseCode>
<ResponseDigest></ResponseDigest>
<ResponseDetails></ResponseDetails>
<Query_Response>
<Code>200/201/300/400/500</Code>
<Info>
<Digest>查询成功</Digest>
<Details>查询成功,一共有10记录满足条件,现在是第1页,每页大小是10条记录</Details>
<TotalRecord>10</TotalRecord>
<PageSize>10</PageSize>
<CurrentPage>1</CurrentPage>
</Info>
<Table>
<Record>
<CLZTXX>*****</CLZTXX>
<ZCHGZBH>*****</ZCHGZBH>
<WZHGZBH>*****</WZHGZBH>
<DPHGZBH>*****</DPHGZBH>
<FZRQ>2005-07-21-14-44-10</FZRQ>
<CLZZQYMC>*****</CLZZQYMC>
<QYID>*****</QYID>
<CLLX>*****</CLLX>
<CLMC>*****</CLMC>
<CLPP>*****</CLPP>
<CLXH>*****</CLXH>
<CSYS>*****</CSYS>
<DPXH>*****</DPXH>
<DPID>*****</DPID>
<CLSBDH>*****</CLSBDH>
<CJH>*****</CJH>
<FDJH>*****</FDJH>
<FDJXH>*****</FDJXH>
<RLZL>*****</RLZL>
<PFBZ>*****</PFBZ>
<PL>*****</PL>
<GL>*****</GL>
<ZXXS>*****</ZXXS>
<QLJ>*****</QLJ>
<HLJ>*****</HLJ>
<LTS>*****</LTS>
<LTGG>*****</LTGG>
<GBTHPS>*****</GBTHPS>
<ZJ>*****</ZJ>
<ZH>*****</ZH>
<ZS>*****</ZS>
<WKC>*****</WKC>
<WKK>*****</WKK>
<WKG>*****</WKG>
<HXNBC>*****</HXNBC>
<HXNBK>*****</HXNBK>
<HXNBG>*****</HXNBG>
<ZZL>*****</ZZL>
<EDZZL>*****</EDZZL>
<ZBZL>*****</ZBZL>
<ZZLLYXS>*****</ZZLLYXS>
<ZQYZZL>*****</ZQYZZL>
<EDZK>*****</EDZK>
<BGCAZZDYXZZL>*****</BGCAZZDYXZZL>
<JSSZCRS>*****</JSSZCRS>
<QZDFS>*****</QZDFS>
<HZDFS>*****</HZDFS>
<QZDCZFS>*****</QZDCZFS>
<HZDCZFS>*****</HZDCZFS>
<ZGCS>*****</ZGCS>
<CLZZRQ>2005-07-21-14-44-10</CLZZRQ>
<BZ>*****</BZ>
<QYBZ>*****</QYBZ>
<CPSCDZ>*****</CPSCDZ>
<QYQTXX>*****</QYQTXX>
<CZRQ>2005-07-21-14-44-10</CZRQ>
<Upload_date>2005-07-21-14-56-34</Upload_date>
</Record>
<Record>
……
</Record>
……
<Record>
……
</Record>
</Table>
</Query_Response>
</Response>
如果查询正常完成,但是没有找到数据,则查询的反馈如下:
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>2000/2500/3000/5000</ResponseCode>
<ResponseDigest></ResponseDigest>
<ResponseDetails></ResponseDetails>
<Query_Response>
<Code>201</Code>
<Info>
<Digest>查询成功</Digest>
<Details>查询成功,一共有0记录满足条件,现在是第1页,每页大小是10条记录</Details>
<TotalRecord>0</TotalRecord>
<PageSize>10</PageSize>
<CurrentPage>1</CurrentPage>
</Info>
</Query_Response>
</Response>
关于查询响应的说明
1、 关于服务响应码和数据处理响应码的详细情况请参考上传流程的响应中的相关描述。
2、 下面我们只详细介绍<Query_Response>……</Query_Response>中的内容,其它元素的内容由于与上传流程一样,所以请参考上传流程的响应中的相关描述,这里只讨论<Table>……</Table>中的内容。
3、 在<Table>……</Table>中,有多个<Record>……</Record>,每个<Record>对应于查询到的一条记录,每个记录的字段数量是上传的字段数量加上一个上传日期字段即<Upload_date>。
4、 在查询请求的反馈中,取消了参数的编号,这是与上传部分字段表示不同的地方。
5、 查询请求的反馈中,日期类型的字段格式是2005-07-21-14-56-34,与上传时的格式”2005-07-21 14:56:34”是不同的,这点用户要特别注意。
撤销流程请求与响应的XML文档
关于撤销的请求
<?xml version="1.0" encoding="GB2312"?>
<Delete>
<Table>
<Record>
<_1_CLZTXX>******</_1_CLZTXX>
<_2_ZCHGZBH>******</_2_ZCHGZBH>
<_101_WZHGZBH>******</_101_WZHGZBH>
<_3_DPHGZBH>******</_3_DPHGZBH>
<_6_QYID>******</_6_QYID>
<_7_CLLX>******</_7_CLLX>
</Record>
……
</Table>
</Delete>
撤销请求的说明
撤销请求的内容格式如上所述。
撤销请求包括6个元素,其字段内容意义参考前面上传流程的说明。
可同时撤销多个合格证,也就是说请求文档中可以有多个Record>……</Record>
关于撤销的响应
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>2000/2500/3000/5000</ResponseCode>
<ResponseDigest></ResponseDigest>
<ResponseDetails></ResponseDetails>
<Delete_Response>
<Code>200/201/300/400/500</Code>
<Info>
<Digest>******</Digest>
<Details>******</Details>
</Info>
<Success>
<Record>******</Record>
</Success>
<Error>
<Record>
<Number>*******</Number>
<Information>******</Information>
</Record>
</Error>
</Delete_Response>
</Response>
下面是一个撤销响应的例子:
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>2000</ResponseCode>
<ResponseDigest></ResponseDigest>
<ResponseDetails></ResponseDetails>
<Delete_Response>
<Code>300</Code>
<Info>
<Digest>删除数据可能出现了问题</Digest>
<Details>由于数据本身不存在或删除操作执行过程发生异常,导致删除数据时出现了一定的问题</Details>
</Info>
<Success>
<Record>WZHGZBH2</Record>
</Success>
<Error>
<Record>
<Number>TEST1111111113</Number>
<Information>要删除的合格证数据不存在</Information>
</Record>
<Record>
<Number>TEST1111111114</Number>
<Information>要删除的合格证数据不存在</Information>
</Record>
</Error>
</Delete_Response>
</Response>
撤销响应的解释
关于服务响应码和数据处理响应码等相关通用元素的解释请参考上传流程响应的解释。
<Success>元素中可以有多个<Record>,每个<Record>是撤销成功的合格证编号。
<Error>元素中可以有多个<Record>,每个<Record>是撤销失败的合格证编号以及撤销失败的相关信息。
其它流程的请求与响应
用户登录的请求
由于目前用户登录请求是内置在基础版或OCX控件里的,所以暂时不提供关于用户登录请求的相关解释。
用户登录的响应
登录成功的响应
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>2000</ResponseCode>
<ResponseDigest></ResponseDigest>
<ResponseDetails></ResponseDetails>
<Login_Response>
<Code>200</Code>
<Info>
<OnlineNumber_Max>5000</OnlineNumber_Max>
<OnlineNumber_Current>2</OnlineNumber_Current>
<Digest>登录成功,客户端CS版的版本号是1.0,与服务器端软件版本一致</Digest>
<Details>登录成功,客户端CS版的版本号是1.0,与服务器端软件版本一致</Details>
</Info>
</Login_Response>
</Response>
关于登录成功的解释
登录成功的服务响应码为2000,数据处理响应码为200。
在登录成功响应文档的<Info>元素中,除了<Digest>和<Details>元素外,还有<OnlineNumber_Max>元素和<OnlineNumber_Current>元素,前者表示服务器允许的最大在线人数,后者表示当前的在线人数。
在<Digest>和<Details>元素的信息中,有客户端版本号和服务器端版本号的相关信息。
登录失败的响应
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>3000</ResponseCode>
<ResponseDigest>用户登录发生错误</ResponseDigest>
<ResponseDetails>java.lang.Exception: 用户名或密码不对,用户不能登录
……(这里有很多英文信息,是服务器反馈给用户的调试信息)
</ResponseDetails>
</Response>
在用户名、密码输入不对,当前用户数超过限制等各种原因都有可能造成用户登录失败,此时的反馈如上所述,但是<ResponseDetails>的内容有所不同。
用户退出系统的请求
由于目前用户退出系统请求是内置在基础版或OCX控件里的,所以暂时不提供关于用户退出系统请求的相关解释。
用户退出系统的响应
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>2500</ResponseCode>
<ResponseDigest>成功退出</ResponseDigest>
<ResponseDetails>成功退出,如果还要进行其它操作,请重新登录!</ResponseDetails>
</Response>
会话超时的响应
对于会话超时的用户,当用户进行操作时,系统会提示“用户登录过时或者非法”的信息,用户必须重新登录才能进行进一步的操作
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>3000</ResponseCode>
<ResponseDigest>用户不合法</ResponseDigest>
<ResponseDetails>info=Info-0003:用户不合法,请确认用户是否登录过时或者非法</ResponseDetails>
</Response>
其它有关响应
其它各种没有提及的响应基本上都是如下格式:
<?xml version="1.0" encoding="GB2312"?>
<Response>
<ResponseCode>****</ResponseCode>
<ResponseDigest>****</ResponseDigest>
<ResponseDetails>****</ResponseDetails>
</Response>
对于用户来说,以上响应的处理基本上都是一样的。
建议
用户最好是通过我们的网上测试系统,来熟悉我们的XML交换规则。
测试的网址是:http://www.vidc.info/HgzTest/HgzQy/Tests/login.jsp
测试的用户名:HX000001CATAU001,密码:123456
用户可以通过我们提供的XML测试数据文件来进行测试,以便确切了解数据交换的规则。
我们将在近期要求企业在网上注册相关信息,企业填写注册信息后,可以获取正式使用的用户名以及密码。