`

XML中的消息交互绑定类型

阅读更多
小结一下XML中的消息交互绑定类型,首先是几个概念:





先说Literal与Encoding

Literal就是不在SOAP消息中表明数据类型,而通过其它方式获知数据类型,这种方式是开发包相关的,没有什么标准;如<x>50</x>,单从SOAP消息,你无法判断50是数字还是字符串,而具体的类型可以在开发包将SOAP请求映射到具体的Service类时来确定并完成转换,对于返回值也一样,客户端可已通过SetReturnValueType(...)之类的方法告知开发包自己期待什么类型

Encoding就是在SOAP消息中携带类型信息,并且依据某种规则将数据编码传递,接收端可以根据类型信息和编码规则完成解码,获得原始数据;如<x xsi:type="xsd:string">50</x>

再看RPC与literal
在 RPC 样式中,XML 有效负载包装在 SOAP 主体中的 operation 元素内。另一方面,Document 样式的消息将 XML 有效负载直接放置在 SOAP 主体中。RPC 和 Document 消息都可以为 Literal 或 Encoded 消息。比如RPC:

RPC:

<soap:Envelope >
   ...
        <soap:Body>
      <publishSomeData>
<SomeData>
<ID>123456789</ID>
<Value>33.99</Value>
</SomeData>
      </publishSomeData>
   </soap:Body>
</soap:Envelope>


其WSDL的:

<wsdl:binding name="PublishSomeData_Binding" type="tns:PublishSomeData">
    <soap:binding style="rpc"
     transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="publishSomeData">
      <soap:operation style="rpc" soapAction=
      "http://www.someCompany.com/soa/2005-03-06/publishSomeData"/>
      <wsdl:input>
        <soap:body use="literal" namespace=
        "http://www.someCompany.com/soa/2005-03-06/publishSomeData.wsdl"/>
        "http://www.someCompany.com/soa/2005-03-06/publishSomeData.wsdl"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" namespace=
        "http://www.someCompany.com/soa/2005-03-06/publishSomeData.wsdl"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>



在 Document-literal 样式的 SOAP 消息中,SOAP 主体仅包含 XML 有效负载,而不会包装操作名称。典型的 Document 样式 SOAP 消息与以下所示内容类似:

<soap:Envelope>
...
   <soap:Body>
<SomeData>
<ID>123456789</ID>
<Value>33.99</Value>
</SomeData>
   </soap:Body>
</soap:Envelope>


其WSDL为:

...
   <wsdl:binding name="PublishSomeData_Binding" type="tns:PublishSomeData">
    <soap:binding style="document"
     transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="publishSomeData">
      <soap:operation  style="document"
       soapAction=
       "http://www.someCompany.com/soa/2005-03-06/publishSomeData"/>
      <wsdl:input name="SomeData">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="returnData">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>




1
0
分享到:
评论

相关推荐

    XML与数据库交互技术的研究及实现

    XS2SQL将XML Schema定义的数据类型和结构转换为SQL数据库中的表结构,反之亦然。R2XM则是将数据库中的关系数据模型映射为XML文档,以便于在网络上传输或在其他系统中使用。 #### 三、实现XML与数据库的双向数据交换...

    Java与XML数据绑定

    Java与XML数据绑定是将XML文档中的数据与Java对象模型之间建立映射关系的技术,它使得XML数据可以方便地在Java应用程序中使用。这一过程通常包括XML到Java对象的序列化(marshalling)和Java对象到XML的反序列化...

    (jsp+servlet+xml)xml绑定

    本项目“(jsp+servlet+xml)xml绑定”着重于Java技术如何与XML进行交互,通过JSP(JavaServer Pages)和Servlet来实现XML文档的解组、编组以及动态内容修改。以下将详细介绍这个过程中的关键知识点。 首先,XML...

    Java绑定XML架构的技术内涵

    例如,在电子政务系统中,各种业务流程往往涉及大量的XML文档交互。 #### 五、案例分析 假设我们需要开发一个简单的图书管理系统,其中涉及到图书信息的管理。我们可以定义一个XML Schema来描述图书的信息结构,并...

    .net操作xml GridView绑定xml

    在ASP.NET中,GridView控件可以绑定各种类型的数据源,包括XML。首先,需要将XML数据转换为适合GridView显示的数据格式,通常是DataTable或List。以下是如何使用LINQ to XML将XML数据转换为DataTable的示例: ```...

    JAVA和XML数据绑定 经典PDF

    Java和XML数据绑定是将XML文档中的数据与Java对象模型之间建立映射关系的技术,使得开发者可以方便地在XML和Java对象之间进行数据交换。这项技术对于处理XML数据的Java应用来说至关重要,尤其是在Web服务、配置文件...

    XML绑定显示

    在这个“XML绑定显示”项目中,我们关注的是如何在Windows Forms(WinForms)环境中利用XML数据并呈现其内容和属性。 首先,XML文件的结构由一系列元素组成,每个元素都有可能包含其他元素或文本内容,同时还可以...

    C# winform实现combox绑定XML实现级联数据绑定

    在本案例中,我们将探讨如何使用XML文件来存储数据,并将这些数据绑定到ComboBox中实现级联效果。 首先,我们需要创建一个XML文件来存储级联数据。XML文件是一种结构化的数据存储方式,易于读写和解析。以下是一个...

    wpf与xml交互

    当涉及到“wpf与xml交互”,我们主要关注的是如何在WPF应用中有效地读取、写入和处理XML文件。 首先,让我们深入理解WPF中的数据绑定机制。WPF的数据绑定允许UI元素与数据源进行连接,使UI动态响应数据的变化。这种...

    flash+XML基础交互实例

    在IT行业中,Flash和XML是两个非常重要的技术,它们经常被结合使用以实现丰富的网络交互。这个"flash+XML基础交互实例"是一个很好的起点,帮助初学者理解如何将动态数据集成到Flash应用程序中。让我们详细探讨一下这...

    Java解析XML的一种数据绑定技术.pdf

    本文主要介绍了Java解析XML文件的一种数据绑定技术,旨在实现跨平台的数据交互。该技术通过将XML文件与Java程序绑定,实现了数据的高效解析和交互。 知识点1:XML技术在跨平台Web应用中的重要性 XML技术在跨平台...

    [VB.NET源码]数据库与XML的交互

    3. 使用XML数据绑定:在VB.NET窗体应用程序中,可以将XML数据直接绑定到控件,如GridView,实现数据的展示和编辑。 四、性能优化与安全考虑 1. 声明性SQL参数化:避免SQL注入攻击,使用SqlParameter对象设置命令...

    XML文件与WPF中TreeView、Menu交互

    在WPF(Windows Presentation Foundation)中,XML文件可以与界面元素进行交互,为应用程序提供灵活的数据绑定和动态内容生成。本示例将重点讨论如何在WPF中利用XML文件与TreeView和Menu控件进行交互。 首先,让...

    DataGrid动态绑定XML文件

    在本文中,我们将深入探讨如何利用`DataGrid`动态绑定XML文件,实现数据的灵活展示。这一技术主要适用于需要从XML数据源获取信息,并在界面上实时更新的情况。 首先,我们需要了解XML文件的基础知识。XML...

    绑定xml的CheckList显示

    在WPF(Windows Presentation Foundation)应用开发中,数据绑定是一项核心功能,它允许UI元素与数据源进行直接交互。本示例将详细讲解如何利用XML数据文件与CheckListBox控件进行绑定,实现全选和单选功能。 首先...

    ASP.NET2.0(C#)TreeView绑定XML、以及对其进行添加修改删除

    在这个特定的案例中,我们关注的是如何使用 C# 语言操作 ASP.NET 的 TreeView 控件来绑定XML文件,并进行添加、修改和删除的操作。以下将详细阐述这一主题。 首先,`TreeView` 控件是ASP.NET提供的一种呈现层次结构...

    XML与数据库相互转换

    在.NET框架中,Visual Studio 2003提供了强大的XML处理功能,使得XML与数据库之间的交互变得简单而高效。 XML与数据库的交互主要包括两个方向:XML到数据库的导入和数据库到XML的导出。这种转换在数据迁移、备份、...

    flex 解析xml绑定到combobox点击按钮把combobox所选的数据添加到List

    在Flex开发中,数据绑定和用户交互是两个关键部分,本示例主要展示了如何将XML数据解析并绑定到ComboBox控件,以及如何通过点击Button按钮将ComboBox选定的值添加到List列表中。以下是对这个小例子的详细解释: 1. ...

    一个C++的对XML文件的封装例子

    在C++编程中,XML(eXtensible Markup Language)是一种广泛应用的数据交换格式,用于存储结构化数据。这个压缩包包含的项目是一个C++对XML文件进行读取、解析和操作的实例。以下是对这些文件内容的详细解释: 1. *...

Global site tag (gtag.js) - Google Analytics