Share via


Types de données pris en charge par les services Web XML créés à l'aide d'ASP.NET

Tous les langages de programmation spécifient différents types de données dans lesquels stocker les différents types de données. Les types de données simples, ou primitifs, sont assez semblables dans tous les langages de programmation. Toutefois, il y a des différences subtiles qui empêchent le mappage direct entre des langages. Ces différences représentent un défi pour la création d'un service Web qui soit accessible à toute application cliente.

Pour garantir la portée la plus générale, les services Web prennent en charge un assortiment des types de données primitifs qui peuvent être codés et sérialisés à l'aide de XML.

Le tableau suivant montre les types de données primitifs pris en charge par les services Web (les types de données spécifiés dans la deuxième partie du langage XSD), ainsi que les types de données équivalents en C++ et le common language runtime.

Langage de définition de schéma XML (XSD) C++ Common language runtime

base64Binary

Byte[]

boolean

bool

Boolean

byte

char, __int8

SByte

double

double

Double

dateTime

DateTime

decimal

   

Decimal

float

float

Single

int

int, long, __int32

Int32

long

__int64

Int64

QName

   

XmlQualifiedName

short

short, __int16

Int16

string

BSTR

String

time

   

DateTime

unsignedByte

unsigned __int8

Byte   

unsignedInt

unsigned __int32

UInt32

unsignedLong

unsigned __int64

UInt64

unsignedShort

unsigned __int16

UInt16

Tableaux des primitives et enums

Tableaux des types ci-dessus

Pour plus d'informations sur la conversion de types de données common language runtime en types de données d'autres langages tels que C# et Visual Basic .NET, consultez la Bibliothèque de classes .NET Framework.

Les types de données disponibles dépendent du protocole utilisé par le service Web. Par exemple, les protocoles HTTP-GET et HTTP-POST sont tous deux limités aux paires nom/valeur. Toutefois, SOAP autorise pour une utilisation plus riche de XML à coder et sérialiser des structures de données complexes telles que les classes.

Le tableau suivant montre les types pris en charge pour HTTP-GET et HTTP-POST.

Type Description

Types primitifs (limités)

Les types primitifs suivants sont convertis en paires nom/valeur représentées sous forme de chaînes : Boolean, Currency, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, UInt16, Uint32, and UInt64.

Types d'enum

Du point de vue du client, les types d'énumération deviennent des classes avec un champ de chaîne constant statique pour chaque valeur.

Tableaux des primitives, enums

Tableaux des éléments ci-dessus.

Les types de données pris en charge par les services Web lorsque le protocole SOAP est utilisé sont directement liés aux types de données pouvant être sérialisés en XML. ASP.NET sérialise et désérialise du XML à l'aide de la classe XmlSerializer. Pour plus d'informations sur les types pris en charge par XmlSerializer, consultez Introduction à la sérialisation XML.

Outre les types primitifs répertoriés dans le tableau précédent, les services Web utilisant le protocole SOAP prennent en charge les types de données supplémentaires suivants.

Type Description

Classes et structures, tableaux des classes et structures

Types de classe et de structure avec des champs ou des propriétés publics. Les propriétés et les champs publics sont sérialisés. Les classes doivent avoir un constructeur par défaut qui n'accepte aucun paramètre.

DataSet, Tableaux de DataSet

Types DataSet ADO.NET. Les types Dataset peuvent également apparaître comme champs dans les classes ou les structs.

XmlNode, Tableaux de XmlNode

XmlNode est une représentation en mémoire d'un fragment XML. Les types XmlNodes peuvent être passés comme paramètres ou valeurs de retour, et ils sont ajoutés au reste du XML passé au service Web de façon conforme à SOAP. Cela vous permet de passer ou retourner du XML même si sa structure change d'un appel à l'autre ou si vous ne connaissez pas tous les types passés. Les types XmlNode peuvent également apparaître comme champs dans les classes ou les structs.

Voir aussi

Concepts

Création de clients de service Web XML

Autres ressources

Introducing XML Serialization
.NET Framework Class Library
Services Web XML utilisant ASP.NET

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.