清单 3. 用于 myMethod 的 RPC/编码的 SOAP 消息
<soap:envelope>
<soap:body>
<myMethod>
<x xsi_type="xsd:int">5</x>
<y xsi_type="xsd:float">5.0</y>
</myMethod>
</soap:body>
</soap:envelope>
关于 RPC/编码例子中的 WSDL 和 SOAP 消息有一些需要注意的地方:
优点
WSDL 尽可能的简单明了。
操作名出现在消息中,因此接收者可以很容易的将消息分派到操作的实现。
缺点
类型编码信息(xsi:type="xsd:int")通常就是降低吞吐量性能的开销。
你不能很容易的验证这个消息的有效性,因为只有 5 和 5.0 行包含 Schema 中定义的内容;soap:body 内容的其余部分来自于 WSDL 定义。
虽然它是合法的 WSDL,但 RPC/encoded 是不遵守 WS-I 的。
有没有一种方法可以取其精华,弃其糟粕呢?可能有。让我们看一下 RPC/文字样式。
RPC/文字
用于这个方法的 RPC/文字样式的 WSDL 看起来与 RPC/编码的 WSDL(清单 4)几乎一样。绑定的用法从 编码 变为 文字。仅此而已。
清单 4. 用于 myMethod 的 RPC/文字样式的 WSDL
<message name="myMethodRequest">
<part name="x" type="xsd:int"/>
<part name="y" type="xsd:float"/%gt;
</message>
<message name="empty"/>
<portType name="PT">
<operation name="myMethod">
<input message="myMethodRequest"/>
<output message="empty"/>
</operation>
</portType>
<binding …/>
<!– I won’t bother with the details, just assume it’s RPC/literal. –>
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
API设计:如何正确开发应用程序接口
在交互组件化软件的世界里,没有比让组件之间以及组件与移动设备和浏览器之间进行连接的应用程序接口(API)更重要的东西了。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。