3)soap:body
soap:body元素指出了消息部分应如何在SOAP Body元素中表现。
消息的各个部分可以是抽象的类型定义,也可以是具体的模式定义。如果是抽象定义,根据编码格式定义的一套规则将对类型进行序列化。使用URI列表可以对每种编码格式进行标识,就象在SOAP规范中的那样。由于某些编码格式如SOAP编码允许某种给定的抽象类型的消息格式发生变化,那么读者应理解所有的格式变化:”读者决定正确性”。为了避免对所有变化不必要的支持,可以对消息的定义具体化,然后暗示它的原始编码格式(如果存在)。在这种情况下,消息的创建者必须严格遵循特定的规范:”作者决定正确性”。
soap:body提供的信息用于决定如何在SOAP消息的Body元素中组合不同的消息部分。soap:body元素可以用在面向RPC的消息也可以用在面向文档的消息中,但是封装操作的格式对Body节如何构建有重要影响:
如果操作格式是RPC,那么每个部分将是一个参数,或者是一个返回值,并且它们出现在body中的wrapper元素内。wrapper元素的名字与操作的名字相同,并且它的名称空间是namespace属性的值。每个消息部分(参数)在封装器下出现,它是由与调用中相应参数名称相同的存储器表示的。各部分以与调用参数相同的顺序进行排列。
如果操作格式是文档,那么就没有额外的封装器(wrappers),消息的parts直接出现在SOAP Body元素中。
在定义Body的内容和参数存储器元素时使用了相同的机制。
4)soap:header
soap:header元素允许在SOAP封装的头元素中对将要传送的头进行定义。它模拟了soap:body元素。并不需要使用soap:header费力地列出出现在SOAP封装中的所有头元素。例如,对WSDL的扩展暗示特定的头应加入到实际的有效负荷中,此时就不需要列出所有的头。
5)soap:fault
soap:fault元素指出了SOAP Fault Details元素的内容,它模仿了soap:body元素。
6)soap:address
SOAP地址绑定用于为端口指定地址。使用SOAP绑定的端口必须指定一个确切的地址,为地址指定的URI配制必须与soap:binding指定的传输相对应。
2、 HTTP GET 与 POST 绑定
为了描述Web浏览器与网站间的交互作用,WSDL包含了HTTP 1.1的 GET 和 POST版本的绑定。这种绑定允许应用程序而不浏览器与网站进行交互。可以指定下面的协议特定信息:
使用了HTTP GET 或 POST绑定的标记
端口地址
每种操作的相对地址(相对于端口定义的基地址)
HTTP GET/POST绑定使用下列元素扩展WSDL:(注意黑体标注)
<definitions …. >
<binding …. >
<http:binding verb=”nmtoken”/>…1
<operation …. >
<http:operation location=”uri”/>…2
<input …. >
<– mime elements –>
</input>
<output …. >
<– mime elements –>
</output>
</operation>
</binding>
<port …. >
<http:address location=”uri”/>…3
</port>
</definitions>
1)http:binding
http:binding元素指出此绑定使用了HTTP协议。必需的Verb属性的值指出了HTTP的版本,其值通常是GET或POST,但也可以使用其它值。注意,HTTP版本是大小写敏感的。
2)http:operation
Location属性为操作指定一个相对URI,此URI与http:address元素指定的URI结合在一起形成了HTTP请求的完整路径。此URI必须是一个相对的URI。
3)http:address
location属性为端口指定了基地址。其值是与http:operation绑定元素的位置(location)属性的值结合在一起的。
4)http:urlEncoded
UrlEncoded元素指出所有的消息part都按照标准的URI编码规则(名字=值…)编码进HTTP请求URI中。参数名与消息part的名相对应。使用”名字=值”对对part提供的值进行编码。通常使用GET指示URL编码,或使用POST指示一个FORM-POST。对于GET,字符”?”作为必需,将自动追加。
<http:urlEncoded/>
5)http:urlReplacement
http:urlReplacement元素指出所有的消息part都使用替代运算法则被编码进HTTP请求URI中:
http:operation 的相对URI值用于搜索一组探索方案。
在http:operation的值与http:address的位置属性的值结合前开始搜索。
每个消息part有一个搜索方式。搜索方式字符串是附加了”(”和”)”的消息part 的名字。对每个匹配,相应消息part的值在匹配处替代匹配。
匹配检查在任何值被替代前执行(已经替代的值不会引发另外的匹配检查)。
消息part不能有重复值。
<http:urlReplacement/>
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。
-
走出思维定式 数据库/大型机现代化不再是问题
升级和改变组织的主要利益驱动应用的前景,正处于一个压倒性的位置,所以组织将要面临一系列的改变。