因为Web Services的执行是建立在XML架构之上的,所以它能够支持丰富的数据类型。下表列出了使用SOAP协议时Web Services支持的数据类型: 类 型 含 义 基础类型 也即标准基础类型,包括: String、Int32、Byte、Boolean、Int16、Int64、Single、Double、Decimal、DateTime(类似XML中的timeInstant)、 DateTime(类似XML中的date)、DateTime(类似XML中的time)以及XmlQualifiedName(类似XML中的QName)。 枚举类型 比如: public enum color { red=1, blue=2 } 基础类型数组,枚举类型数组 上述类型的数组,比如 string[] 和 int[] 类和结构 带有公用域或属性的类和结构,公用域和属性是串行结构的。 类(结构)数组 上述类型的数组 DataSet(数据集) ADO.NET DataSet类型,可看成是类或结构中的字段。 DataSet数组 上述类型的数组 XmlNode XmlNode是XML文档片断的内存表示,就好像一个轻量级的XML文档对象模型。比如说, This is pretty neat 就可以存储在一个XmlNode类型变量中。我们可以将XmlNodes作为参数传递,以SOAP兼容方式附加到传递给Web Services的XML文档上。返回值也是同样原理。XmlNode也可看成是类或结构中的字段。 XmlNode数组 上述类型的数组 返回值的数据类型 当通过SOAP或者HTTP GET/POST调用Web Services时,返回值可以是上述提到的任何一种数据类型。 参数的数据类型 使用SOAP协议时,通过值以及通过引用这两种输入/输出参数形式都可被支持。如果是通过引用的参数类型,就会产生两种方式的数据发送效果:到服务器的以及返回到客户端的。
但是,当通过HTTP GET/POST传递输入参数给Web Services时,就只支持有限的数据类型了,而且还必须是通过值形式的参数。这些类型如下: 类 型 含 义 基础类型 (有限的) 支持大数标准基础类型,包括: Int32、String、Int16、Int64、Boolean、Single、Double、Decimal、DateTime、TimeSpan、UInt16、UInt32、UInt64和Currency。从客户端来看,所有这些类型都转变为string。 枚举类型 比如: public enum color { red=1, blue=2 }。 基础类型数组,枚举类型数组 上述类型的数组,比如 string[]和int[] 数据类型应用举例