Compartilhar via


WSDL simples

Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

O WSDL simples produz uma versão reduzida do documento WSDL que substitui os tipos de dados XSD primitivos pelos tipos do sistema do SQL Server que são descritos com mais detalhes no Default WSDL. Embora o WSDL simples reduza parte dos detalhes dos tipos de dados do SQL Server que têm suporte completo no WSDL padrão, ele simplifica efetivamente o processo para fornecer documentos WSDL consumíveis para clientes e geradores de classes de proxy que não estejam equipados para mapear ou tratar todas as facetas do WSDL padrão e seu sistema de tipos.

Diferenças entre WSDL simples e padrão

O principal motivo para ter os formatos WSDL simples e padrão é que o formato WSDL simples foi criado para fornecer compatibilidade com versões anteriores e dar suporte para clientes SOAP que não entendem o formato WSDL padrão.

Isto inclui clientes de serviço Web simples, como aqueles baseados no SOAP Toolkit. Esses clientes não podem interpretar o documento WSDL padrão gerado por uma instância do SQL Server. Esta limitação existe porque o SOAP Toolkit e outros clientes de serviço Web mais simples não interpretam a riqueza de alguns tipos do sistema introduzidos no SQL Server 2005. Portanto, para permitir essa limitação dos clientes mais simples ou mais antigos, o WSDL simples tem todos os elementos dos tipos do SQL Server mapeados para tipos XSD nativos.

Por exemplo, sabe-se que o cliente SOAP Toolkit tem problemas para entender sqltypes:money por causa da granularidade da sua definição de totalDigits e fractionDigits, bem como outros elementos adicionais que são usados para obter os tipos XSD originais. Porém, o SOAP Toolkit pode tratar o mapeamento direto de tipos XSD muito bem, como um int.

Tipos derivados (WSDL padrão)

<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>

Mapeamento direto (WSDL simples)

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

Outro exemplo é uma resposta de RPC. O WSDL padrão define um tipo de resposta como SqlResultStream. Isto é definido adicionalmente em sua seção de "Types". Em contraste, o tipo de resposta é definido como um <xsd:complexType> genérico que especifica <xsd:any>. Isto permite qualquer de conteúdo. Essa modificação do documento WSDL permite o cliente de serviço Web simples contorne sua incapacidade de analisar os tipos de resposta derivados do SQL Server.

ObservaçãoObservação

Solicitações de WSDL não podem participar de uma sessão SOAP. Para obter mais informações sobre as sessões SOAP, consulte Trabalhando com sessões SOAP.

Mapeamentos de tipos do SQL Server para XSD para WSDL simples

Para obter mais informações sobre como os tipos de dados do sistema do SQL Server são mapeados para os tipos do Esquema XML (XSD) para o WSDL simples, consulte Mapeamentos de tipo de dados em XML Web Services Nativos.