关于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>