WSDL Schema 现在把参数放在包装中(参阅清单 9)。
清单 9. 用于 myMethod 的文档/文字包装的 SOAP 消息
<soap:envelope>
<soap:body>
<myMethod>
<x>5</x>
<y>5.0</y>
</myMethod>
</soap:body>
</soap:envelope>
注意这个 SOAP 消息同 RPC/文字的 SOAP 消息(清单 5)非常相似。您可能会说,它看起来与 RPC/文字的 SOAP 消息是完全一样的,不过,这两种消息之间存在着微妙的区别。在 RPC/文字的 SOAP 消息中, 的 子句是操作的名称。在文档/文字包装的 SOAP 消息中, 子句是单个输入消息的组成部分引用的元素的名称。因此,包装的样式具有这样的一个特征,输入元素的名称与操作的名称是相同的。此样式是把操作名放入 SOAP 消息的一种巧妙方式。
文档/文字包装的样式的特征有:
输入消息只有一个组成部分。
该部分是一个元素。
该元素同操作有相同的名称。
该元素的复杂类型没有属性。
优点
没有类型编码信息。
soap:body 中出现的所有内容都定义在 schema 中,所以您可以很容易地检验此消息的有效性。
方法名又出现在 SOAP 消息中。
文档/文字是遵守 WS-I 的,并且包装模式符合了 WS-I 的限制,即 SOAP 消息的 soap:body 只有一个子元素。
缺点
WSDL 更加复杂。
文档/文字包装的样式还是有一些缺点,不过与优点比起来,它们都显得微不足道。
文档/文字的样式在哪里定义?
这种包装类型来源于 Microsoft?。并没有任何规范来定义这个类型;因此虽然这个类型是一个好东西,但不幸的是,为了与 Microsoft 和其他公司的实现进行互操作,现在惟一的选择就是根据 Microsoft WSDL 的输出来猜测它是如何工作的。该模式已经出现了一段时间,并且业界也很好的理解了它,虽然该模式在例子中是非常明显的,但是也有一些内容不够清晰。我们希望一个独立的组织比如 WS-I 来帮助稳定和标准化这一模式。
为什么不始终采用文档/文字包装的样式
至此,本文已经给了您这样的一个印象,文档/文字包装的样式是最好的方法。而实际的情况往往确实如此。不过,仍然存在着一些情况,在这些情况下,您最好是换一种别的样式。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
API设计:如何正确开发应用程序接口
在交互组件化软件的世界里,没有比让组件之间以及组件与移动设备和浏览器之间进行连接的应用程序接口(API)更重要的东西了。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。