Compartir a través de


WSDL simple

Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

El WSDL simple crea una versión recortada del documento WSDL que sustituye los tipos de datos XSD primitivos por tipos del sistema de SQL Server, que se describen con más detalle en WSDL predeterminado. Aunque el WSDL simple no reduce parte de la riqueza de los tipos de datos de SQL Server que son totalmente compatibles con el WSDL predeterminado, simplifica el proceso de proporcionar documentos WSDL utilizables a clientes y generadores de clase proxy que no están equipados para asignar o procesar todos los aspectos del WSDL predeterminado y su sistema de tipos.

Diferencias entre el WSDL simple y el predeterminado

El motivo principal de tener dos formatos WSDL, simple y predeterminado, es que el formato WSDL simple está diseñado para proporcionar compatibilidad con versiones anteriores y con clientes SOAP que no comprenden el funcionamiento del formato WSDL predeterminado.

Esto incluye clientes de servicio Web simple como los que se basan en el Kit de herramientas SOAP. Estos clientes no pueden interpretar el documento WSDL predeterminado tal como lo genera una instancia de SQL Server. Esta limitación se debe a que el Kit de herramientas SOAP y otros clientes de servicio Web más simples no interpretan la totalidad de algunos tipos del sistema presentados en SQL Server 2005. Por lo tanto, para solucionar esta limitación de clientes más simples o más antiguos, el WSDL simple tiene todos los tipos de elementos de SQL Server asignados a los tipos XSD nativos.

Por ejemplo, se sabe que el Kit de herramientas SOAP tiene problemas para comprender sqltypes:money debido a la granularidad de su definición de totalDigits y fractionDigits y otros elementos adicionales que se utilizan para derivar los tipos XSD originales. No obstante, el Kit de herramientas SOAP puede procesar bien los tipos XSD de asignación directa, como int.

Tipos derivados (WSDL predeterminado)

<xsd:simpleType name="money">
             <xsd:restriction base="xsd:decimal">
             <xsd:totalDigits value="19">
             </xsd:totalDigits>
             <xsd:fractionDigits value="4">
             </xsd:fractionDigits>
             <xsd:maxInclusive value="922337203685477.5807">
             </xsd:maxInclusive>
             <xsd:minInclusive value="-922337203685477.5808">
        </xsd:minInclusive>
     </xsd:restriction>
</xsd:simpleType>

Asignación directa (WSDL simple)

<xsd:simpleType name="int">
    <xsd:restriction base="xsd:int">
    </xsd:restriction>
</xsd:simpleType>

Otro ejemplo es una respuesta RPC. El WSDL predeterminado establece un tipo de respuesta en SqlResultStream. Se define adicionalmente en su sección "Tipos". Por el contrario, el tipo de respuesta se establece en un <xsd:complexType> genérico que especifica <xsd:any> . Esto permite cualquier contenido. Esta modificación del documento WSDL permite que el cliente del servicio Web simple resuelva su incapacidad de analizar los tipos de respuesta de SQL Server derivados.

Nota

Las solicitudes WSDL no pueden participar en una sesión SOAP. Para obtener más información acerca de sesiones SOAP, vea Trabajar con sesiones SOAP.

Asignaciones de SQL Server al tipo XSD para WSDL simple

Para obtener más información acerca de cómo los tipos de datos del sistema de SQL Server se asignan a los tipos del Esquema XML (XSD) para el WSDL simple, vea Asignaciones de tipos de datos de los servicios Web XML nativos.