Udostępnij za pośrednictwem


Domyślnie WSDL

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

Zwracany jest domyślnie WSDL, kiedy ciąg argumentu wsdl przekazany do punktu końcowego HTTP SOAP, który działa na wystąpienie SQL Server; na przykład: http://MyServer/MyEndpoint/sql?wsdl.

Domyślne WSDL dokumentów, elementów parametru zawierają mapowania typu pliku WSDL sqltypes:type mapowań SQL Server system typów danych.Aby uzyskać informacje dotyczące tych mapowań, zobacz Mapowania typu danych usług sieci Web XML macierzystego.

Domyślny dokument WSDL generowane przez punkt końcowy określa typ parametru przez odwoływanie się do jednego z typów określonych w Mapowania typu danych lub odwoływania się do podtypów tych typów, a ponadto Dodawanie ograniczenia.Dla wszystkich ciąg i binarne typy domyślne WSDL zwracane przez punkt końcowy będzie zawierać podtypu, który zawiera XSD maxLength aspekt określania liczby bajtów lub znaków.

MaxLength aspekt nie jest generowany dla typów o zmiennej długości, które są zadeklarowane z (max) specyfikatora.Dla decimal i numeric typów danych domyślnych WSDL wygeneruje podtypu, który zawiera XSD totalDigits i fractionDigits faset będzie opisujących precyzji i skali parametru.

Program SQL Server do typowych mapowań typu obsługi języka dla domyślnego języka WSDL

Default WSDL instances include support for mapping SQL Server data types to common language runtime (CLR) types that are provided in the Microsoft .NET Framework 2.0.Ponieważ niektórych wbudowanych typów danych CLR nie wyrównać dobrze SQL Server typy danych, System.Data.SqlTypes obszaru nazw jest dostarczany w .NET Framework 2.0.Dzięki temu system typu zarządzanego, który w szczególności może obsługiwać wiele faset z SQL Server Typ danych systemu, który w przeciwnym razie nie można mapować typów XSD.

Dla .NET Framework 2.0 wersji narzędzia języka definicji usługi sieci Web (Wsdl.exe) ma wbudowaną obsługę generowania odpowiednich SQL Server do mapowania typu CLR dla domyślnego wystąpienia WSDL.Usługa ta jest dostępna, czy używana jest Wsdl.exe w wiersz polecenia lub w drodze Dodawanie odwołania sieci Web do Visual Studio 2005 projektu.

W przypadkach WSDL wygenerowanych przy użyciu tej obsługi mapowania typu wszystkie SQL Server typy danych są zakodowane deklarowanie i używając określonego identyfikatora URI obszaru nazw (https://schemas.microsoft.com/sqlserver/2004/sqltypes) i jego odpowiedni prefiks (Właściwości sqltypes).Jak tabela zawiera następujące **elementu sqltype:**typu mapowań w przypadkach WSDL generowane przy użyciu narzędzie Wsdl.exe do mapowania na ich odpowiednie typy CLR.

Elementu WSDL typu

Typ CLR

sqltypes:char

System.Data.SqlTypes.SqlString

sqltypes:nchar

System.Data.SqlTypes.SqlString

sqltypes:varchar

System.Data.SqlTypes.SqlString

sqltypes:nvarchar

System.Data.SqlTypes.SqlString

sqltypes:text

System.Data.SqlTypes.SqlString

sqltypes:ntext

System.Data.SqlTypes.SqlString

sqltypes:varbinary

System.Data.SqlTypes.SqlBinary

sqltypes:binary

System.Data.SqlTypes.SqlBinary

sqltypes:image

System.Data.SqlTypes.SqlBinary

sqltypes:timestamp

System.Byte[]

sqltypes:timestampNumeric

System.Int64

sqltypes:decimal

System.Data.SqlTypes.SqlDecimal

sqltypes:numeric

System.Data.SqlTypes.SqlDecimal

sqltypes:bigint

System.Data.SqlTypes.SqlInt64

sqltypes:int

System.Data.SqlTypes.SqlInt32

sqltypes:smallint

System.Data.SqlTypes.SqlInt16

sqltypes:tinyint

System.Data.SqlTypes.SqlByte

sqltypes:bit

System.Data.SqlTypes.SqlBoolean

sqltypes:float

System.Data.SqlTypes.SqlDouble

sqltypes:real

System.Data.SqlTypes.SqlSingle

sqltypes:datetime

System.Data.SqlTypes.SqlDateTime

sqltypes:smalldatetime

System.Data.SqlTypes.SqlDateTime

sqltypes:money

System.Data.SqlTypes.SqlMoney

sqltypes:smallmoney

System.Data.SqlTypes.SqlMoney

sqltypes:uniqueidentifier

System.Data.SqlTypes.SqlGuid

sqltypes:xml

System.Xml.XmlNode[]1

sqltypes:sqlDbType="Sql_Variant"

System.Object

sqltypes:sqlDbType="Udt"

System.Xml.XmlElement2

SqlTypes:sqlDbType = "Structured"

System.Data.DataSet

1 Mapowane otoki klasy dla tablicy System.Xml.XmlNode obiektów.O nazwie klasy otoki xml bez parametrów XML, ale używa nazwa wygenerowana dla parametrów maszynowy XML.

2 Mapowane na klasy otoki wokół jednego System.Xml.XmlElement obiekt używający wygenerowana nazwa.

Jak typ danych xml jest obsługiwane w domyślnej WSDL

Gdy xml Parametry typu danych są definiowane w domyślnym WSDL, są mapowane do sqltypes:xml WSDL typu danych.Dzięki temu każdy poprawnie sformułowany kod XML określony bez dodatkowej zawartości lub sprawdzaniem poprawności.Aby uzyskać więcej informacji, zobacz Implementowanie XML w programie SQL Server

Dla xml Parametry typ danych związany z przestrzeni nazw XML, domyślnie zostanie dokument WSDL generowania <xsd:complexType> element, który zawiera ograniczenia nad sqltypes:xml typu.Z kolei określa maszynowy XML xsd: wszelkie typ reguły ograniczeń.Jak pokazano w poniższym przykładzie, ograniczenie to z kolei będzie określić processContents atrybut zestawjego wartość do wyrównywania strict i będzie określać również namespace atrybut i zestaw jego wartość do listy odpowiednich obszarów nazw XML skojarzony z kolekcja schematu, do którego maszynowy XML jest związany.

<xsd:element name="xmlVal" minOccurs="1" maxOccurs="1" nillable="true">
    <xsd:complexType >
        <xsd:restriction base="sqltypes:xml">
             <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="strict" namespace="NS1 NS2 ...." /> 
        </xsd:restriction>
    </xsd:complexType>
</xsd:element>