XML协议组成Word格式.docx

上传人:b****3 文档编号:16846588 上传时间:2022-11-26 格式:DOCX 页数:9 大小:24.52KB
下载 相关 举报
XML协议组成Word格式.docx_第1页
第1页 / 共9页
XML协议组成Word格式.docx_第2页
第2页 / 共9页
XML协议组成Word格式.docx_第3页
第3页 / 共9页
XML协议组成Word格式.docx_第4页
第4页 / 共9页
XML协议组成Word格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

XML协议组成Word格式.docx

《XML协议组成Word格式.docx》由会员分享,可在线阅读,更多相关《XML协议组成Word格式.docx(9页珍藏版)》请在冰豆网上搜索。

XML协议组成Word格式.docx

12002<

/transactiontype>

digest>

7ec8582632678032d25866bd4bce114fv/digest>

agenterid>

889931<

/agenterid>

source>

ivr<

/source>

username〉张三<

/username〉

compress>

DES<

/compress>

/header>

body>

elements>

lotteiyid>

118v/lotteryid>

issues>

1<

/issues>

v/element>

v/elements>

/body>

/message>

注:

实际http传输中,对内容进行编码,编码字符集utf-8(这主要是

考虑到AJAX传输过程是以UTF-8编码)。

开发过程中会遇到这种情况,明明已经发送数据到服务器了,可是服务器收不到数据,遇到这种问题时的处理办法是,查看一下发送程序代码,是否进行了如下设置:

‘contertype'

‘applicaWWxform-urlencoded'

如果有,去除,或者修改成:

‘text/xmlcharsetutf

1.0、消息包

每一个请求/响应的消息包都是一个xml,包含消息头和消息体,对于不同类型的请求/响应,消息头的格式是相同的,而消息体会携带具体的类型的请求/响应信息。

请参照下面的消息包格式定义。

?

xmlversion二”1.0”encoding二”-8t”?

vmessageversion二"

>

vmessengerid>

200911131015330000000001v/messengerid>

20091113101533<

transactiontype>

102<

/transactiontype>

username〉张三<

7ec8582632678032d25866bd4bce114f<

/digest>

800001<

velements>

velement>

lotteryname>

D11<

/lotteryname>

issue>

2009111301v/issue〉

v/body>

整个消息包是一个xml字符串,首先声明xml的版本和编码,这

里定义encoding为utf-8。

在消息包元素message中声明了version属

性,表示该消息包使用的数据通信协议的版本,当前为1.0

1.1消息头

消息头对于所有的交易请求以及对每个交易请求的请求/响应都

具有同样的数据结构。

请参照下面的消息体格式定义。

在后面对交易请求消息体的描述中不再重复说明消息头的结构。

20091113101533000001v/messengerid>

20091113101533v/timestamp>

vtransactiontype>

102v/transactiontype>

vdigest>

7ec8582632678032d25866bd4bce114fv/digest>

vagenterid>

800001v/agenterid>

vusername>

张三v/username>

vsource>

ivrv/source>

vipaddress>

33.22.11.22v/ipaddress>

vcompress>

DESv/compress>

加密用的标签:

使用什么方式加密(DES)

v/header>

header元素定义了消息头的数据结构,其中:

名称

类型

长度

描述

messengerid

String

20

消息编号,格式为yyyymmddhh24miss+六位递增序号。

注:

在非大客户模式下,可以为空。

timestamp

14

格式为:

yyyymmddhh24miss或者yyyy-mm-ddhh24:

mi:

ss

transactiontype

3

交易类型,详见附件

agenteridid

6

代理编号

username

16

用户账号

digest

32

对消息包的摘要,摘要算法为md5,摘要内容为(时间戳+代理密码+消息体)

source

16<

=

用户操作终端来源,女口:

ivr,sms,web

等。

ipaddressaddress

20<

对于digest部分,表中已经定义了需要对消息体的哪些部分进行摘要,这里需要进行更进一步的说明,其中:

代理商密码:

彩票支撑系统会为每个投注代理商分配一个交易访问密码,这个密码不会在消息中直接传输。

无论是投注代理

商向彩票支撑系统发送消息还是彩票支撑系统向某个代理发送消息,都会使用投注代理商的密码来执行摘要。

消息体:

消息包中body元素部分,包含<

与v/body>

假如一个数据包的格式如下:

xmlversion='

1.0'

encoding='

utf-8'

?

vmessageversion="

200911131015330000000001<

7ec8582632678032d25866bd4bce114f<

oelement>

errorcode>

0<

/errorcode>

errormsg>

操作成功<

/errormsg>

/oelement>

element>

2012070<

/issue>

lasttime>

86400<

/lasttime>

/elements>

xmlversion="

encoding="

utf-8"

messageversion="

vheader>

messengerid>

20091113101533000001<

/messengerid>

vtimestamp>

20091113101533<

/timestamp>

transactiontype>

12002<

/transactiontype>

digest>

041a1f10e7cd9fe5531a61f8bdef5faa<

/digest>

vcompress>

/compress>

agenterid>

1000002<

/agenterid>

/header>

body>

HmtGfqfbbCvzJvlvv+HjhHmbzgj+JRAutc2wOfw9+rsKAEKJX79jf2chPUk

9XZTaMYphue6K/FeOZ3BNFjdnPsPvvL/1/vA75iGWiU8zKDYa9/jKDwz3Rbe1X6m3hamZ

PMLXz7FSXnD/Ur/BTZqfmta+0yJuMPGcWQEFjVnO/10amdeXoQDJDjP9gmOWb7r7WiMcX

RYTSTmH1F8a5a1tVXQnK6WU4fmDkCU1Yq+RAowxwAH9VzvZiOP8ISyCGHpYPCADWcvpE5RtH0Le674kW29XlisxTJvcVhuDDamnMa0=

/body>

/message>

那么,被摘要的字串应该是(假设投注代理商的密码为111111)

111111<

<

oelement>

errorcode>

操作成功<

v/oelement>

elements>

element>

lotteryid>

/lotteryid>

2009111301<

/issuex/element>

v/elements>

被摘要的body元素部分应该保留消息字串中的所有格式信息,比如空格,回

车符等。

1.2协议中协议头使用说明

协议头中包含一些通用的信息,对于系统中不同的环节,有些协议字段可以不填,有些协议字段需要在应用服务器端填写后,发送到无纸化平台。

vheader〉

vmessengerid〉200911131015330000000001v/messengerid〉vtimestamp〉20091113101533v/timestamp>

800001v/agenterid〉

对于:

flash,ajax+js等客户端模式下,messengerid,digest,agenterid,

username等字段是不需要填写的。

这些信息可以在服务端由具体的服务平台进行被充填写。

因为有些安全信息,是不能在用户的电脑上执行的。

附录A:

DES数据加密

为了数据的安全,XML协议在传输过程中,可以使用加密处理。

1、数据按照PKCS5规则进行补位•(缺7位补7个0x07,缺6位则补6个0x06,以次类推,如果正好8位,也需要补8个0x08)。

2、实际加密模式选择DES-ECB。

3、经过DES加密后的数据必须通过Base64编码转换为明文的字符串。

在XML约定协议的header部分中,增加一个标签compress,女口:

,DES标明为加密的类型,如下:

voelement>

0v/errorcode>

verrormsg>

操作成功v/errormsg>

v/oelement>

vlotteryid>

d11v/lotteryid>

vissue>

2009111301v/issue>

v/message>

需要DES加密的数据:

verrorcode>

d11<

/lotteryid>

加密后提交的数据包:

vtimestamp>

vagenterid>

vbody>

二xxxxdafdfdsafsa==

v/message>

附录B:

数据DES加密与MD5的双重性问题。

MD5是在DES加密前进行的,MD5签名使用的密钥是用的渠道的密钥,DES加密数据使

用的密钥是当前用户的密码明文经过MD5处理后,生成的长度为32字节的十六进制字符串的前16个字符。

比如:

一用户的密码明文为:

1234567890,经过MD5处理后,则数据转成为:

e807f1fcf82d132f9bb018ca6738a19f,则进行DES加密数据时,密钥为:

e0fff2129b1c63a9。

附录C:

GZIP压缩传输

手机客户端与中间件接口传输与接收数据,均需要进行GZIP压缩传输,减少数据库传

输流量。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1