小结一下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>
分享到:
相关推荐
XS2SQL将XML Schema定义的数据类型和结构转换为SQL数据库中的表结构,反之亦然。R2XM则是将数据库中的关系数据模型映射为XML文档,以便于在网络上传输或在其他系统中使用。 #### 三、实现XML与数据库的双向数据交换...
Java与XML数据绑定是将XML文档中的数据与Java对象模型之间建立映射关系的技术,它使得XML数据可以方便地在Java应用程序中使用。这一过程通常包括XML到Java对象的序列化(marshalling)和Java对象到XML的反序列化...
本项目“(jsp+servlet+xml)xml绑定”着重于Java技术如何与XML进行交互,通过JSP(JavaServer Pages)和Servlet来实现XML文档的解组、编组以及动态内容修改。以下将详细介绍这个过程中的关键知识点。 首先,XML...
例如,在电子政务系统中,各种业务流程往往涉及大量的XML文档交互。 #### 五、案例分析 假设我们需要开发一个简单的图书管理系统,其中涉及到图书信息的管理。我们可以定义一个XML Schema来描述图书的信息结构,并...
在ASP.NET中,GridView控件可以绑定各种类型的数据源,包括XML。首先,需要将XML数据转换为适合GridView显示的数据格式,通常是DataTable或List。以下是如何使用LINQ to XML将XML数据转换为DataTable的示例: ```...
Java和XML数据绑定是将XML文档中的数据与Java对象模型之间建立映射关系的技术,使得开发者可以方便地在XML和Java对象之间进行数据交换。这项技术对于处理XML数据的Java应用来说至关重要,尤其是在Web服务、配置文件...
在这个“XML绑定显示”项目中,我们关注的是如何在Windows Forms(WinForms)环境中利用XML数据并呈现其内容和属性。 首先,XML文件的结构由一系列元素组成,每个元素都有可能包含其他元素或文本内容,同时还可以...
在本案例中,我们将探讨如何使用XML文件来存储数据,并将这些数据绑定到ComboBox中实现级联效果。 首先,我们需要创建一个XML文件来存储级联数据。XML文件是一种结构化的数据存储方式,易于读写和解析。以下是一个...
当涉及到“wpf与xml交互”,我们主要关注的是如何在WPF应用中有效地读取、写入和处理XML文件。 首先,让我们深入理解WPF中的数据绑定机制。WPF的数据绑定允许UI元素与数据源进行连接,使UI动态响应数据的变化。这种...
在IT行业中,Flash和XML是两个非常重要的技术,它们经常被结合使用以实现丰富的网络交互。这个"flash+XML基础交互实例"是一个很好的起点,帮助初学者理解如何将动态数据集成到Flash应用程序中。让我们详细探讨一下这...
本文主要介绍了Java解析XML文件的一种数据绑定技术,旨在实现跨平台的数据交互。该技术通过将XML文件与Java程序绑定,实现了数据的高效解析和交互。 知识点1:XML技术在跨平台Web应用中的重要性 XML技术在跨平台...
3. 使用XML数据绑定:在VB.NET窗体应用程序中,可以将XML数据直接绑定到控件,如GridView,实现数据的展示和编辑。 四、性能优化与安全考虑 1. 声明性SQL参数化:避免SQL注入攻击,使用SqlParameter对象设置命令...
在WPF(Windows Presentation Foundation)中,XML文件可以与界面元素进行交互,为应用程序提供灵活的数据绑定和动态内容生成。本示例将重点讨论如何在WPF中利用XML文件与TreeView和Menu控件进行交互。 首先,让...
在本文中,我们将深入探讨如何利用`DataGrid`动态绑定XML文件,实现数据的灵活展示。这一技术主要适用于需要从XML数据源获取信息,并在界面上实时更新的情况。 首先,我们需要了解XML文件的基础知识。XML...
在WPF(Windows Presentation Foundation)应用开发中,数据绑定是一项核心功能,它允许UI元素与数据源进行直接交互。本示例将详细讲解如何利用XML数据文件与CheckListBox控件进行绑定,实现全选和单选功能。 首先...
在这个特定的案例中,我们关注的是如何使用 C# 语言操作 ASP.NET 的 TreeView 控件来绑定XML文件,并进行添加、修改和删除的操作。以下将详细阐述这一主题。 首先,`TreeView` 控件是ASP.NET提供的一种呈现层次结构...
在.NET框架中,Visual Studio 2003提供了强大的XML处理功能,使得XML与数据库之间的交互变得简单而高效。 XML与数据库的交互主要包括两个方向:XML到数据库的导入和数据库到XML的导出。这种转换在数据迁移、备份、...
在Flex开发中,数据绑定和用户交互是两个关键部分,本示例主要展示了如何将XML数据解析并绑定到ComboBox控件,以及如何通过点击Button按钮将ComboBox选定的值添加到List列表中。以下是对这个小例子的详细解释: 1. ...
在C++编程中,XML(eXtensible Markup Language)是一种广泛应用的数据交换格式,用于存储结构化数据。这个压缩包包含的项目是一个C++对XML文件进行读取、解析和操作的实例。以下是对这些文件内容的详细解释: 1. *...