Web Service描述语言 WSDL 详解(4)

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

WSDL的Types栏和Messages栏中的XML Schema

WSDL数据类型是基于"XML Schema: Datatypes"(XSD)的,现在已经被W3C推荐。这一文档共有三个版本(1999,2000/10,2001),因此必须在namespace属性的<definitions>元素中指明所使用的是哪一个版本。

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

在本文中,我将只考虑2001版本。WSDL标准的推荐者强烈建议使用2001版。

在本栏和以后各部分,需使用以下简缩或前缀

前缀

代表的Namespace

描述

Soapenc

http://schemas.xmlsoap.org/soap/encoding

SOAP 1.1 encoding

Wsdl

http://schemas.xmlsoap.org/wsdl/soap

WSDL 1.1

Xsd

http://www.w3.org/2001/XMLSchema

XML Schema

XSD基类型

下表是直接从MSTK2文档中取出的,列举了MSTK2所支持的所有XSD基类型。它也告诉在客户端或服务器端的WSDL读取程序如何把XSD类型映射到在VB、C++和IDL中相应的类型。

XSD (Soap)类型

变量类型

VB

C++

IDL

Comments

anyURI

VT_BSTR

String

BSTR

BSTR

base64Binary

VT_ARRAY | VT_UI1

Byte()

SAFEARRAY

SAFEARRAY(unsigned char)

Boolean

VT_BOOL

Boolean

VARIANT_BOOL

VARIANT_BOOL

Byte

VT_I2

Integer

short

short

转换时验证范围有效性

Date

VT_DATE

Date

DATE

DATE

时间设为 oo:oo:oo

DateTime

VT_DATE

Date

DATE

DATE

Double

VT_R8

Double

double

double

Duration

VT_BSTR

String

BSTR

BSTR

不转换和生效

ENTITIES

VT_BSTR

String

BSTR

BSTR

不转换和生效

ENTITY

VT_BSTR

String

BSTR

BSTR

不转换和生效

Float

VT_R4

Single

float

float

GDay

VT_BSTR

String

BSTR

BSTR

不转换和生效

GMonth

VT_BSTR

String

BSTR

BSTR

不转换和生效

GMonthDay

VT_BSTR

String

BSTR

BSTR

不转换和生效

GYear

VT_BSTR

String

BSTR

BSTR

不转换和生效

GYearMonth

VT_BSTR

String

BSTR

BSTR

不转换和生效

ID

VT_BSTR

String

BSTR

BSTR

不转换和生效

IDREF

VT_BSTR

String

BSTR

BSTR

不转换和生效

IDREFS

VT_BSTR

String

BSTR

BSTR

不转换和生效

Int

VT_I4

Long

long

long

Integer

VT_DECIMAL

Variant

DECIMAL

DECIMAL

转换时范围生效

Language

VT_BSTR

String

BSTR

BSTR

不转换和生效

Long

VT_DECIMAL

Variant

DECIMAL

DECIMAL

转换时范围生效

Name

VT_BSTR

String

BSTR

BSTR

不转换和生效

NCName

VT_BSTR

String

BSTR

BSTR

不转换和生效

negativeInteger

VT_DECIMAL

Variant

DECIMAL

DECIMAL

转换时范围生效

NMTOKEN

VT_BSTR

String

BSTR

BSTR

不转换和生效

NMTOKENS

VT_BSTR

String

BSTR

BSTR

不转换和生效

nonNegativeIntege

VT_DECIMAL

Variant

DECIMAL

DECIMAL

转换时范围生效

nonPositiveInteger

VT_DECIMAL

Variant

DECIMA

DECIMAL

转换时范围生效

normalizedString

VT_BSTR

String

BSTR

BSTR

NOTATION

VT_BSTR

String

BSTR

BSTR

不转换和生效

Number

VT_DECIMAL

Variant

DECIMAL

DECIMAL

positiveInteger

VT_DECIMAL

Variant

DECIMAL

DECIMAL

转换时范围生效

Qname

VT_BSTR

String

BSTR

BSTR

不转换和生效

Short

VT_I2

Integer

short

short

String

VT_BSTR

String

BSTR

BSTR

Time

VT_DATE

Date

DATE

DATE

日设为1899年12月30日

Token

VT_BSTR

String

BSTR

BSTR

不转换和生效

unsignedByte

VT_UI1

Byte

unsigned char

unsigned char

UnsignedInt

VT_DECIMAL

Variant

DECIMAL

DECIMAL

转换时范围生效

unsignedLong

VT_DECIMAL

Variant

DECIMAL

DECIMAL

转换时范围生效

unsignedShort

VT_UI4

Long

Long

Long

转换时范围生效

XSD定义了两套内建的数据类型:原始的和派生的。在下文中查阅内建数据类型的层次十分有益:

http://www.w3.org/TR/2001/PR-xmlschema-2-20010330

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有