曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
中广泛使用的“ b a s e 6 4”编码,你也可以选择自己b a s e 6 4
感兴趣的编码格式也可为其他值
当两个合作伙伴同意使用一种通用的证书格式时可以使用D i g i t a l S i g n a t u r e元素,同时通过类
型属性定义认证类型。
另一个认证方法是使用S h a r e d S e c r e t元素,它充当了口令的角色,其同I d e n t i f y的结合就好像
用户名/口令一样。通常,在一个传输进行前需要对其进行安全交换。
7. UserAgent
U s e r A g e n t元素通过使用简单的字符串来表示U s e r A g e n t,它接受c X M L文档,同时我们在
H T T P中也有U s e r A g e n t。
这样我们完成了一个c X M L文档中对报头和信封的介绍。下面将看看消息传输的不同方
法。
12.8.3 消息传输
在c X M L中,消息传输有两种实现方法:
• 请求/响应消息传输。
• 不对称或单向传输。
让我们看看这些方法是如何实现的。
1. 请求/响应消息传输机制
一个c X M L请求/响应的流程如图1 2 - 1 7所示。客户发送一个c X M L请求到一台服务器并保证
在每个信封中只有一个请求,这样简化了服务器的实现。发送的X M L数据可能为任何类型,但
c X M L的主要目的是使用在c X M L实现中指定的请求类型。
2. 请求
一个c X M L请求实例应该使用下面的模式:
540使用XML 高级编程
下载
图12-17
程序清单1 2 - 3 2
模式的D T D如下所示:
程序清单1 2 - 3 3
R e q u e s t元素拥有一个属性叫做d e p l o y m e n t M o d e,该属性可能的取值为p r o d u c t i o n或t e s t,取
值同你是否正在测试这个系统还是已经发布使用该系统。R e q u e s t值的定义是c X ML规范的一个
部分,用于允许开放消息传输。
下面是在测试过程中的一个供应商列表的请求,买者同其有着被供应关系:
程序清单1 2 - 3 4
3. 响应
响应元素发送给客户告知应用程序运行结果,甚至在没有结果时也发送。一个被成功处理
的c X ML文档可能具有以下模式:
第12章电子商务和XML使用541 下载
cXML文
档在客户
端创建
处理过程与提交的URL
有着密切的联系。它读
取POST中的cXML然后
交给相应的处理器
HTTP 1.x以cXML文
档形式发出请求
以cXML文档作为响应
程序清单1 2 - 3 5
下面我们看一看一个响应实例的D T D描述:
程序清单1 2 - 3 6
R e s p o n s e元素必须包含一个S t a t u s子元素,它表明该实例是否被成功处理,并在不成功时显
示原因。该元素有c o d e和t e x t属性,c o d e属性的值同H T T P相似模块的值类似,而t e x t属性包含对
c o d e的文字描述(用于日志等)。使用5 0 0表示错误,错误、X M L翻译错误或应用程序错误应在
返回的X M L文字中加以表示以帮助纠错。
R e s p o n s e也可能遵循cXML DTD规范,我们将进行简单描述。对先前的S u p p l i e r L i s t R e q u e s t
例子的响应例子如下所示。
程序清单1 2 - 3 7
注意你可以在c X M L规范文件s u p p l i e r. m o d中查看SupplierListRequest DTD的内容,该文件可
542使用XML 高级编程
下载
以从h t t p : / / w w w. c x m l . o rg下载。
另一种c X M L使用的消息传递机制是不对称或单向传输。我们将在下面看到。
4. 不对称传输机制
在同步传输机制(如H T T P)无效时使用不对称传输,这样我们不能保证我们的请求一定会
得到一个响应。图1 2 - 1 8显示了一个不对称传输响应逻辑上的流程。
图12-18
一个不对称c X M L消息的结构同请求/响应格式的消息结构并不完全不同。
程序清单1 2 - 3 8
事实上, c X M L单向实例的结构同请求/响应结构的不同在于M e s s a g e元素。M e s s a g e元素的
D T D描述如下。
程序清单1 2 - 3 9
M e s s a g e元素具有一个可选的状态( S t a t u s)子元素,如上所描述。它还有两个可以利用的
属性—d e p l o y m e n t M o d e属性在前面已经介绍过,而i n R e p l y To属性可选。
为了模仿不对称的请求/响应功能,i n R e p l y To属性表明响应消息将要响应给何人,可以是原
始消息的p a y l o a d I D。
下面是一个不对称请求/响应的例子,用于交换一个买者的内容描述。
第12章电子商务和XML使用543 下载
客户系统以
cXML格式
对消息编码
服务器收到
cXML文档后
解码并处理
消息通过转输机制发
送(SMTP或MSMQ),
并不需要立刻响应
程序清单1 2 - 4 0
你可以在c X M L规范文件Su b s c r i p t i o n . m o d中查看SubscriptionChangeMessage cXML模块,该
文件可以从h t t p : / / w w w. c x m l . o rg下载。
5. 不对称传输
当前虽然没有原因表明为什么不使用如S M T P或M S M Q等方法,在c X M L规范中最常用的不
对称传输消息是通过H T T P(如可能)或U R L格式的编码。
通过H T T P的单向传输,客户简单地POST cXML消息到服务器并在没有接到任何响应信息
时结束这个连接。但是,在使用U R L编码方式时,c X M L文档不能直接发送到服务器而是作为一
个隐藏的H T M L表单域,允许服务器We b页面显示一些面向用户的信息。更多关于这个传输方法
的细节可参见c X M L文档。
6. 基本和通用的元素
c X M L实体调整的一些标准如下:
• isoLangCode表示ISO Language Code 639。
• unitOfMeasure实体遵循U N / C E FA C T建议。
• HTTP/1.1标准用于进行U R L定义。
7. cXML定义
c X M L规范定义了许多标准文档,按下列通常的标题进行定义。
• Order定义。
• PunchOur定义。
• Catalog定义。
• 订阅管理定义。
• 消息恢复定义。
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML高级编程下(15)