`
iloveflower
  • 浏览: 79864 次
社区版块
存档分类
最新评论
  • iloveflower: 呵呵。好好学习。。。。。。。。。。。。
    java 读书
  • Eric.Yan: 看了一点,不过是电子版的……你这一说到提醒我了,还要继续学习哈 ...
    java 读书

SOAPBind style区别

 
阅读更多
翻译自 The Difference Between RPC and Document Style WSDL

rpc和document到底是什么意思?他们如何同"encoded/literal"相关联?二者的冲突来自哪里?

binding的style和use
通常情况下,web服务是由一个wadl文件来描述的的。在这个文件中,抽象的描述所支持的web服务操作和消息,然后关联到一个具体的网

络歇息和消息格式。典型的wsdl文件由这个几个元素组成:tyoes,message.porttype用来描述抽象的定义;biding和service指定具体的实

现。所有的这些元素包装在definitions元素中。

在binding元素中,rpc和document是最值得我们关注的元素。wsdl 的 binding描述了如何将service关联到消息协议;这些消息协议是

http,mime,soap中的任意一种。不过,实际中,soap是最常用的协议;rpc和document的区别也是在soap的下的区别(it is SOAP that

the RPC/document distinction refers to)。通常http(s)是传输soap消息的协议。

<wsdl:binding>元素包含一对参数,style(rpc|document)和use(encoded|literal),他俩会影响到soap消息的格式.他们的使用方式如下


<wsdl:binding name="Config1Binding" type="prt0:CreditLimitLocalWebServiceVi_Document">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
     <wsdl:operation name="creditLimitCheck">
        <soap:operation soapAction="" />
         <wsdl:input>
            <soap:body use="literal" parts="parameters" />
         </wsdl:input>
        <wsdl:output>
            <soap:body use="literal" />
         </wsdl:output>
</wsdl:operation>
</wsdl:binding>

style属性:
wsdl1.1要求binding的style要么是rpc要么是doucment。这个选择与如何组织soap的负荷相关。下面是分别他们如何影响<soap:body>内

容的细节。
document:<soap:body>的内容由定义在<wsdl:type>中的xml模式指定。他不需要遵循特定的soap规范。简言之,soap消息是通过

<soap:body>中的document发送出去,而没有额外的要遵循的格式规则。document style是一种默认的选择。
rpc: <soap:body>元素的结构需要遵循特定的规则(soap1.1规范第7部分有细节)。根据这些规则,<soap:body>可以包含唯一一个元素

,这个元素在operation后被命名,所有的参数都必须写成这个元素的子元素。

因为可以自由的选择哪种消息格式,遵循document格式的soap消息看上去很像rpc格式。

现在,决定性的问题是:选择其中任意一个选项后的结果是什么样?为何要选择rpc或者document?很多情况下,选择他们后,soap消息

的格式看起来很相像,那么为什么还要提供这种选择呢?原因要从soap标准化的历程中寻找。


use属性
这个属性指定了soap消息的编码规则。他同样在<wsdl:binding>元素中完成。他的值为encoded或者literal.
他引用了一系列规则,soap客户端和soap服务端都遵循这些规则以解释<body>元素中的内容。
use="literal" 意味着type定义遵循xml模式定义
use="encoded" 参考xml中已有的应用数据,通常指的是soap1.1规范中的soap编码规则。如果文档中没有自定义数据,就可以选择

encoded。

分享到:
评论

相关推荐

    WebService之WSDL文件讲解

    xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/"&gt; ``` - **name** 属性:定义了WSDL文档的名称。 - **...

    webservice soap wsdl

    命名空间定义 `xmlns:soapbind` 和 `xmlns:xsd` 都用于分别指定 SOAP 绑定的具体信息及 XSD 数据类型。 WSDL 的默认命名空间是 `http://schemas.xmlsoap.org/wsdl/`,SOAP 绑定的命名空间是 `...

    Spring Boot Starter-kit:含多种技术应用,如数据库、认证机制,有应用结构.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    包含 Spring Boot 等系列技术参考指南中文版及相关资源的仓库.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    Unity3d 3D模型描边代码 懒人直接上代码

    Unity3d 3D模型描边代码 懒人直接上代码

    java毕业设计-基于SSM的超市管理系统【代码+部署教程】

    原文链接:https://alading.blog.csdn.net/article/details/141710476 包含功能: 经理管理:负责经理信息维护与权限分配,确保管理层操作的安全性和高效性。 员工管理:管理员工信息,包括招聘、离职、考勤及权限设置,优化人力资源配置。 商品分类管理:对商品进行科学分类,便于商品检索与管理,提升顾客购物体验。 商品信息管理:维护商品详细信息,如名称、价格、描述等,确保信息准确无误。 商品入库管理:监控商品入库流程,记录库存变化,实现库存精准管理。 商品销售管理:处理销售事务,包括销售记录、退货处理,支持销售业绩分析。 缺货提醒管理:自动检测库存水平,及时发出缺货警告,保障商品供应连续性。 商品收银管理:处理交易结算,支持多种支付方式,确保收银过程快速准确。 供应商管理:维护供应商信息,评估合作效果,优化供应链,保证商品质量与供应稳定性。

    MATLAB实现工业PCB电路板缺陷识别和检测【图像处理实战】 - 副本 (2).zip

    MATLAB实现工业PCB电路板缺陷识别和检测【图像处理实战】项目详情请参见:https://handsome-man.blog.csdn.net/article/details/130493170 PCB板检测的大概流程如下:首先存储一个标准PCB板图像作为良好板材的参考标准,然后将待检测的PCB板图像进行处理,比较与标准PCB图像的差异,根据差异的情况来判断缺陷类型。 项目代码可顺利编译运行~

    Jupyter_你是否曾经幻想过与自己的虚拟人交互现在使用PaddleAvatar您可以将自己的图像音频和视频转化为一.zip

    Jupyter-Notebook

    1991-2021年中国科技统计年鉴-最新数据发布.zip

    1991-2021年中国科技统计年鉴-最新数据发布.zip

    Spring教程:含示例代码.zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。

    BMI270 驱动开发程序

    BMI270 驱动开发程序

    Approaching Almost Any Machine Learning Problem中译版在线文档地址.zip

    Jupyter-Notebook

    大型语言模型快速入门理论学习.zip

    Jupyter-Notebook

    Chat凉宫春日 An open sourced RolePlaying chatbot Cheng Li Ziang.zip

    Jupyter-Notebook

    上市公司基本资料及行业分类(2020)+员工构成数据大全(2006-2020)-最新发布.zip

    上市公司基本资料及行业分类(2020)+员工构成数据大全(2006-2020)-最新发布.zip

    安慰剂检验代码与数据文章-最新研究成果.zip

    安慰剂检验代码与数据文章-最新研究成果.zip

    java毕业设计-基于SSM的超市进销存管理系统【代码+部署教程】

    原文链接:https://alading.blog.csdn.net/article/details/141678636 包含功能: 用户管理:负责系统用户的注册、登录、权限分配及个人信息管理。 供应商管理:维护供应商信息,包括添加、编辑、删除供应商资料及合作状态。 商品分类管理:创建、修改和删除商品分类,便于商品归类与查找。 商品信息管理:管理商品详情,如添加新品、编辑商品属性、价格及库存量。 采购入库管理:记录采购订单详情,处理入库操作,更新库存数量。 销售信息管理:记录销售订单,追踪销售数据,支持销售分析与报表生成。 赠品入库管理:管理赠品入库流程,记录赠品信息,关联促销活动。 退货入库管理:处理客户退货,记录退货详情,恢复库存数量。 其他入库管理:管理非采购、非赠品的入库情况,如调拨入库等。 购买订单管理:跟踪客户购买订单状态,从下单到发货的全流程管理。 赠送信息管理:管理赠品发放规则,记录赠送活动执行情况。 盘点信息管理:定期进行库存盘点,记录盘点结果,调整库存差异。

    康爱多微商城:学习界面设计.zip 小程序源码

    演示:https://blog.csdn.net/m0_54925305/article/details/143660348?spm=1001.2014.3001.5501

    Jupyter_AI魔法遇到无限绘图板.zip

    Jupyter-Notebook

Global site tag (gtag.js) - Google Analytics