文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发数据结构简单对象访问协议(SOAP)初级指南
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
·程序语言效率比较
·五子棋算法
热点TOP10
·剖析备份个人数据十大注意事项
·BPEL的基本活动介绍
·BPEL模型基础
·VS2005视频教程之站点地图[视频]
·DB2数据库部分日常实用操作
·数据结构教程 第十五课 串的表示和实现
·MD5算法解释
·逆向思维 《魔兽世界》封包分析
·IE工具条插件Toolbar开发简介
·网游外挂编写完全攻略

简单对象访问协议(SOAP)初级指南

日期:2008年1月16日 作者: 查看:[大字体 中字体 小字体]


targetNamespace=‘urn:schemas-xmlsoap-org:soap.v1‘>
<element name=‘Envelope‘>
<type>
<element name=‘Header‘ type=‘Header‘
minOccurs=‘0‘ />
<element name=‘Body‘ type=‘Body‘
minOccurs=‘1‘ />
</type>
</element>
</schema>

  在SOAP元素的四种类型中,除了结构元素外都被用作表达类型的实例或对一个类型实例的引用。

  根元素是显著的元素,它是soap:Body 或是 soap:Header的直接的子元素。其中soap: Body只有一个根元素,它表达调用、响应或错误对象。这个根元素必须是soap:Body的第一个子元素,它的标记名和域名URI必须与HTTP SOAPMethodName头或在错误消息情况下的soap:Fault相对应。而soap:Header元素有多个根元素,与消息相联系的每个头扩展对应一个。这些根元素必须是soap:Header的直接子元素,它们的标记名和名域URI表示当前存在扩展数据的类型。

  存取元素被用作表达类型的域、属性或数据成员。一个给定类型的域在它的SOAP表达将只有一个存取元素。存取元素的标记名对应于类型的域名。考虑下列Java 类定义:

package com.bofsoap.IBank;
public class adjustment {
public int account ;
public float amount ;
}

  在一个SOAP消息中被序列化的实例如下所示:

<t:adjustment
xmlns:t=‘urn:develop-com:java:com.bofsoap.IBank‘>
<account>3514</account>
<amount>100.0</amount>
</t:adjustment>

  在这个例子中,存取元素account和amount被称着简单存取元素,因为它们访问对应于在W3C XML Schema规范 (见 http://www.w3.org/TR/XMLSchema-2) 的Part 2中定义的原始数据类型的值。这个规范指定了字符串,数值,日期等数据类型的名字和表达方式以及使用一个新的模式定义中的<datatype>结构来定义新的原始类型的机制。

  对引用简单类型的存取元素,元素值被简单地编码为直接在存取元素下的字符数据,如上所示。对引用组合类型的存取元素(就是那些自身用子存取元素来构造的存取元素),有两个技术来对存取元素进行编码。最简单的方法是把被结构化的值直接嵌入在存取元素下。考虑下面的Java类定义:

package com.bofsoap.IBank;
public class transfer {
public adjustment from;
public adjustment to;
}

  如果用嵌入值编码存取元素,在SOAP中一个序列化的transfer对象如下所示:

<t:transfer
xmlns:t=‘urn:develop-com:java:com.bofsoap.IBank‘

<from>
<account>3514</account>
<amount>-100.0</amount>
</from>
<to>
<account>3518</account>
<amount>100.0</amount>
</to>
</t:transfer>

  在这种情况下,adjustment对象的值被直接编码在它们的存取元素下。

  在考虑组合存取元素时,需要说明几个问题。先考虑上面的transfer类。类的from和to的域是对象引用,它可能为空。SOAP用XML Schemas的null属性来表示空值或引用。下面例子表示一个序列化的transfer对象,它的from域是空的:

<t:transfer
xmlns:t=‘urn:develop-com:java:com.bofsoap.IBank‘
xmlns:xsd=‘http://www.w3.org/1999/XMLSchema/instance‘

<from xsd:null=‘true‘ />
<to>
<account>3518</account>
<amount>100.0</amount>
</to>
</t:transfer>

  在不存在的情况下, xsd:null属性的隐含值是false。给定元素的能否为空的属性是由XML Schema定义来控制的。例如下列XML Schema将只允许from存取元素为空:

<type name=‘transfer‘ >
<element
name=‘from‘
type=‘adjustment‘
nullable=‘true‘
/>
<element
name=‘to‘
type=‘adjustment‘
nullable=‘false‘ <!— false is the default —>
/>
</type>

  在一个元素的Schema声明中如果没有nullable属性,就意味着在一个XML文档中的元素是不能为空的。Null存取元素的精确格式当前还在修订中�要了解用更多信息参考最新版本的SOAP规范。

  与存取元素相关的另一个问题是由于类型关系引起的可代换性。由于前面的adjustment类不是一个final类型的类,transfer对象的from和to域实际引用继承类型的实例是可能的。为了支持这种类型兼容的替换,SOAP使用一个名域限定的类型属性的XML Schema约定。这种类型属性的值是一个对元素具体的类型的限制的名字。考虑下面的adjustment扩展类:

package com.bofsoap.IBank;

上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页 




上一篇:基于Windows的入门级IDS构建过程详述

下一篇:基于CS模式的Winsock网络通讯程序

相关文章:
·从零开始学黑客:网络黑客新手入门指南
·初级网管或黑客必需撑握的8个DOS命令
·巴塞尔新资本协议概述
·Windows Vista Ultimate中文旗舰版下载+简单破解(支持迅雷HTTP & BT)
·基础知识 初级黑客安全技术命令详解
·网赚指南经典教程(共十课)
·《人工少女2》操作指南 - 游戏手册
·Photoshop十余种漂亮照片边框简单制作技巧
·简单方法查找黑客老巢
·MPEG、RM、WMV电影文件格式转换指南
相关软件:
·Adobe Photoshop CS 2 简体中文使用指南
·TCP-IP详解卷1:协议
·UML面向对象建模技术 csf 视频教程
·新版标准日本语初级 单词读音MP3
·网桥 路由器 交换机和互连协议教材
·爱,就这么简单
·vb6程序员指南
·英语专业八级考试指南 01
·雅思考试听力指南
·日本语教程初级听说训练第四十五課_new

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot