深入理解SOAP编码与SAAJ
1. SOAP编码概述
在分布式计算协议中,对象或应用程序的状态常常需要在通信节点之间进行交换。这就要求状态信息以约定的通信协议进行传输。对于Web服务而言,在SOAP消息里,代表对象状态的XML必须采用标准化格式,这样通信双方才能理解和解读状态信息。编码指的是对SOAP消息中特定元素进行序列化和反序列化的规则,有时也被称为“第5节”编码,因为它在SOAP规范的第5节中有定义。
由于Web服务可以用多种编程语言实现,应用程序定义的数据结构必须在传输时表示为XML。这通常借助平台的语言绑定来实现,例如Java与XML之间的相互转换,C++与XML之间的相互转换。一旦数据能够表示为XML,SOAP消息可以通过两种方式在消息体中携带数据:
- 基于约定的模式 :这种方式定义了XML的内容,常被称为文字编码。例如,双方都知道 billingaddress 包含城市、州和邮编,城市和州是字符串类型,邮编是整数类型。这些类型并非特定于某一种语言,而是指XML Schema规范中定义的基本类型。
- 基于标准模式定义的预定规则 :这就是SOAP编码所起的作用,不过它是完全可选的。第5节编码规则的存在,方便了节点在不事先了解信息类型的情况下交换信息。
发送方和接收方必须使用相同的序列化格式来正确处理消息。双方还需要就以下模式达成一致:
- 整体SOAP消息
- 使用的编码机制
- 使用的头部
- 消息体或附件中的特定于应用程序的XML文档。如果内容是XML,这虽然不是必需的,但却是很好的做法。例如,要
超级会员免费看
订阅专栏 解锁全文
3157

被折叠的 条评论
为什么被折叠?



