Compartir a través de


Tipos de datos admitidos por servicios web XML creados con ASP.NET

Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.

Todos los lenguajes de programación especifican varios tipos de datos en los que almacenar tipos diferentes de datos. El simple, o primitivo, tipo de datos es bastante similar a los lenguajes de programación. Sin embargo, existe una sutil diferencia que evita la asignación directa entre los lenguajes. Estas diferencias presentan un desafío a crear un servicio Web que es accesible a cualquier aplicación de cliente.

Para asegurarse el alcance más ancho, los servicios Web proporcionan soporte técnico para un surtido de tipos de datos primitivos que pueden estar codificados y serializados con XML.

La tabla siguiente muestra los tipos de datos primitivos admitidos por los servicios Web, que son los tipos de datos descritos en la segunda parte del lenguaje de definición de esquemas XML (XSD), junto con los tipos de datos equivalentes en C++ y el Common Language Runtime.

Lenguaje de definición de esquema XML C++ Common Language Runtime

base64Binary

Byte[]

booleano

bool

Booleano

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

cadena

BSTR

Cadena

tiempo

   

DateTime

unsignedByte

unsigned __int8

Byte   

unsignedInt

unsigned __int32

UInt32

unsignedLong

unsigned __int64

UInt64

unsignedShort

unsigned __int16

UInt16

Matrices de primitivos y enumeraciones

Matrices de los tipos anteriores

Para obtener información sobre cómo convertir los tipos de datos de Common Language Runtime en los tipos de datos en otros lenguajes, como C# yVisual Basic .NET, vea Biblioteca de clases de.NET Framework.

Los tipos de datos disponibles dependen del protocolo que el servicio Web utiliza. Por ejemplo, HTTP GET y HTTP POST están ambos limitados a pares de nombre/valor. Sin embargo, SOAP permite un uso más enriquecido de XML para codificar y serializar estructuras de datos complejos tales como las clases.

La tabla siguiente muestra los tipos compatibles para HTTP GET y HTTP POST.

Tipo Descripción

Tipos primitivos (limitados)

Los tipos primitivos siguientes se convierten en pares de nombre/valor representados como cadenas: Booleano, Moneda, Fecha y hora, Decimal, Doble, Int16, Int32, Int64, Único, Cadena, UInt16, Uint32y UInt64.

Tipos de enumeración

De la perspectiva del cliente, los tipos de enumeración se vuelven clases con un campo de cadena constante estático para cada valor.

Matrices de primitivos, enumeraciones

Matrices del anterior.

Los tipos de datos admitidos por el servicio Web cuando se utiliza el protocolo SOAP se ponen en correlación directamente con los tipos de datos que se pueden serializar en XML. ASP.NET serializa y deserializa XML mediante la clase XmlSerializer. Para obtener detalles en los tipos que son admitidos por XmlSerializer, vea Introduciendo Serialización XML.

Además de los tipos primitivos enumerados en la tabla anterior, el servicio Web que utiliza el protocolo SOAP es compatible con los tipos de datos adicionales siguientes.

Tipo Descripción

Clases y structs, matrices de clases y structs

Clase y tipos de structs con campos públicos o propiedades. Se serializan las propiedades y los campos públicos. Las clases deben tener un constructor predeterminado que no acepte ningún parámetro.

Conjunto de datos, Matrices de Conjunto de datos

Tipos ADO.NET Conjunto de datos . Los tipos de conjunto de datos también pueden aparecer como campos en clases o structs.

XmlNode, Matrices de XmlNode

XMLNode es una representación en memoria de un fragmento XML. Los tipos XmlNodes se pueden pasar como parámetros o valores devueltos y se agregan al resto del XML pasado al servicio Web de una manera conforme a SOAP. Esto le permite pasar o devolver XML aun cuando su estructura cambie de llamada a llamada, o si no conoce todos los tipos que van a pasarse. Los tipos de XmlNode también pueden aparecer como campos en clases o structs.

Vea también

Conceptos

Generar clientes de servicios web XML

Otros recursos

Introducing XML Serialization
.NET Framework Class Library
Servicios web XML con ASP.NET