Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En todos los lenguajes de programación se especifican varios tipos de datos en los que se almacenan diferentes tipos de datos. Los tipos de datos simples o primitivos son muy parecidos en todos los lenguajes de programación. Sin embargo, hay pequeñas diferencias que impiden la asignación directa entre lenguajes. Estas diferencias constituyen un problema a la hora de crear un servicio Web XML que sea accesible para cualquier aplicación cliente.
Para asegurar la cobertura más amplia, los servicios Web XML admiten diversos tipos de datos primitivos que se pueden codificar y serializar mediante XML.
En la tabla siguiente se muestran los tipos de datos primitivos que admiten los servicios Web XML, que son los que se describen en la segunda parte del lenguaje XSD (XML Schema Definition, Definición de esquemas XML), junto con los tipos de datos equivalentes en C++ y Common Language Runtime.
| Lenguaje de definición de esquemas XML | C++ | Common Language Runtime |
|---|---|---|
| Boolean | bool | Boolean |
| Byte | char, __int8 | |
| Double | double | Double |
| Datatype | struct | |
| Decimal | Decimal | |
| Enumeration | enum | Enumeración |
| Float | float | Single |
| Int | int, long, __int32 | Int32 |
| Long | __int64 | Int64 |
| Qname | XmlQualifiedName | |
| Short | short, __int16 | Int16 |
| String | BSTR | String |
| TimeInstant | DateTime | |
| UnsignedByte | unsigned __int8 | |
| UnsignedInt | unsigned __int32 | UInt32 |
| UnsignedLong | unsigned __int64 | UInt64 |
| UnsignedShort | unsigned __int16 | UInt16 |
| Matrices de tipos primitivos y enumeraciones | Matrices de los tipos anteriores | |
Para obtener más información sobre cómo convertir tipos de datos de Common Language Runtime a otros lenguajes, como C# y Visual Basic .NET, vea Biblioteca de clases de .NET Framework.
Los tipos de datos disponibles dependen del protocolo que utilice el servicio Web XML. Por ejemplo, los protocolos HTTP-GET y HTTP-POST están limitados a pares de nombre y valor. Sin embargo, SOAP permite un uso mucho más amplio de XML para codificar y serializar estructuras de datos complejas, como las clases.
En la tabla siguiente se muestran los tipos que admiten HTTP-GET y HTTP-POST.
| Tipo | Descripción |
|---|---|
| Tipos primitivos (limitados) | Los siguientes tipos primitivos se convierten en pares de nombre y valor representados como cadenas: Boolean, Currency, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, UInt16, Uint32 y UInt64. |
| Tipos de enumeración | Desde la perspectiva del cliente, los tipos de enumeración se convierten en clases con campo estático constante de tipo cadena de caracteres para cada valor. |
| Matrices de tipos primitivos, enumeraciones | Matrices de los tipos anteriores |
Los tipos de datos que admiten los servicios Web XML cuando se utiliza el protocolo SOAP están directamente correlacionados con los tipos de datos que se pueden serializar en XML. ASP.NET serializa y deserializa el código XML mediante la clase XmlSerializer. Para obtener más información acerca de los tipos que admite la clase XmlSerializer, vea Presentar la serialización XML.
Además de ser compatibles con los tipos primitivos enumerados en la tabla anterior, los servicios Web XML que utilizan el protocolo SOAP también son compatibles con los siguientes tipos de datos.
| Tipo | Descripción |
|---|---|
| Clases y estructuras, matrices de clases y estructuras |
Tipos de clases y estructuras con campos o propiedades públicos. Los campos y propiedades públicos se serializan. Las clases deben tener un constructor predeterminado que no acepte ningún parámetro. |
| DataSet, matrices de DataSet |
Tipos DataSet de ADO.NET. Los tipos Dataset también pueden aparecer como campos en clases o estructuras. |
| XmlNode, matrices de XmlNode |
XmlNode es una representación en la memoria de un fragmento XML. Los tipos XmlNodes se pueden pasar como parámetros o valores devueltos, y se agregan al resto del elemento XML que se pasa al servicio Web XML de forma compatible con SOAP. De este modo, se puede pasar o devolver un elemento XML, aunque su estructura cambie de una llamada a otra, o si no se conocen todos los tipos que se pasan. Los tipos XmlNode también pueden aparecer como campos en clases o estructuras. |
Vea también
Presentar la serialización XML | Biblioteca de clases de .NET Framework | Generar servicios Web XML mediante ASP.NET | Generar clientes de servicios Web XML