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