RPC和文档
RPC与文档
RPC和文档样式Web服务描述语言是参考Web服务和SOAP协议时使用最广泛的两个术语。通常使用Web服务描述语言(WSDL)文档来描述Web服务。 WSDL概述了支持的Web服务操作和消息,并将它们绑定到具体的网络协议和消息格式。使用“type”,“message”和“portType”元素定义抽象定义。使用“绑定”和“服务”元素描述具体规范。这些元素中的每一个都放在“定义”元素中。
RPC和文档样式的绑定样式不同,它们也称为SOAP绑定样式.WSDL根据SOAP有效内容或元素内容的结构将绑定样式指定为RPC或文档。文档样式始终是默认选择,因为SOAP消息作为元素中的单个“文档”发送。 RPC样式元素必须遵循SOAP规范描述的规则。根据规则,可以仅包含一个以操作命名的元素,并且参数被解释为主元素的子元素。 RPC和文档样式都是大多数SOAP客户端接受的版本;然而,一个人在另一个人身上的使用主要是个人的选择。
use属性还有助于区分RPC和文档样式。 use属性描述了两种样式在XML中的表示方式。 use属性描述消息部分是否已编码或消息是否遵循XML模式定义。根据选择,RPC和文档样式有四种可能的组合;即RPC / encoded,RPC literal,Document / Encoded或Document / Literal。并非所有四种组合都在使用中,并且一种组合优于另一种组合更多是个人兴趣。
文档样式和RPC样式之间的主要区别在于,在文档样式中,客户端始终以简单的XML文档格式而不是一组离散的参数值将服务参数发送到服务器。与RPC样式相比,文档样式松散耦合。
在Document / Literal样式中,始终可以使用任何XML验证程序验证消息。 SOAP主体中的内容在架构中明确定义。在RPC / literal样式中,传递的数据很难通过SOAP消息进行验证.Document / Literal样式在SOAP消息中丢失操作名称,而在RPC / literal样式中,操作名称仍然存在于SOAP消息中。在四种不同的组合中,广泛使用的样式是RPC / literal和Document / Literal。
摘要:
1.在文档样式中,SOAP消息作为单个文档发送,而在文档中
RPC样式,SOAP主体可能包含几个元素。
2.文档样式松散耦合,而RPC紧密耦合。
3.在文档样式中,客户端以简单的XML格式发送服务参数
而在RPC样式中,参数作为离散值发送。
4. Document / Literal样式丢失了SOAP消息中的操作名称
RPC / literal样式将操作名称保留在SOAP消息中。
5.在Document / Literal样式中,始终可以使用任何XML验证消息
验证器,而在RPC / literal样式中,传输的数据很难通过验证
SOAP消息。