ServiceDescription und WSDL-VerweisServiceDescription and WSDL Reference

In diesem Thema wird beschrieben, wie Windows Communication Foundation (WCF) Web Services Description Language (WSDL)-Dokumente in und aus zugeordnet ServiceDescription Instanzen.This topic describes how Windows Communication Foundation (WCF) maps Web Services Description Language (WSDL) documents to and from ServiceDescription instances.

Zuordnen von ServiceDescription zu WSDL 1.1How ServiceDescription Maps to WSDL 1.1

Verwenden Sie WCF zum Exportieren von WSDL-Dokumente aus einem ServiceDescription Instanz für Ihren Dienst.You can use WCF to export WSDL documents from a ServiceDescription instance for your service. WSDL-Dokumente werden automatisch für den Dienst generiert, wenn Metadatenendpunkte veröffentlicht werden.WSDL documents are automatically generated for your service when you publish metadata endpoints.

Mithilfe des ServiceEndpoint-Typs können auch ContractDescription-Instanzen Binding-Instanzen und WsdlImporter-Instanzen aus WSDL-Dokumenten importiert werden.You can also import ServiceEndpoint instances, ContractDescription instances, and Binding instances from WSDL documents using the WsdlImporter type.

WCF, exportierten WSDL-Dokumente importieren alle XML-Schemadefinitionen aus externen XML-Schema-Dokumenten verwendet.The WSDL documents, exported by WCF, import any XML Schema definitions used from external XML Schema documents. Ein separates XML-Schemadokument wird für jeden Zielnamespace exportiert, der von den Datentypen im Dienst verwendet wird.A separate XML Schema document is exported for each target namespace the data types use in the service. Ebenso wird ein separates WSDL-Dokument für jeden Zielnamespace exportiert, der von den Dienstverträgen verwendet wird.Likewise, a separate WSDL document is exported for each target namespace the service contracts use.

ServiceDescriptionServiceDescription

Einem ServiceDescription-Element wird eine wsdl:service-Instanz zugeordnet.A ServiceDescription instance maps to a wsdl:service element. Eine ServiceDescription-Instanz enthält eine Auflistung von ServiceEndpoint-Instanzen, die jeweils einzelnen wsdl:port-Elementen zugeordnet werden.A ServiceDescription instance contains a collection of ServiceEndpoint instances that each map to individual wsdl:port elements.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
Name Die wsdl:service /@name Wert für den Dienst.The wsdl:service/@name value for the service.
Namespace Der targetNamespace für die wsdl:service-Definition des Diensts.The targetNamespace for the wsdl:service definition for the service.
Endpoints Die wsdl:port-Definitionen für den Dienst.The wsdl:port definitions for the service.

ServiceEndpointServiceEndpoint

Einem ServiceEndpoint-Element wird eine wsdl:port-Instanz zugeordnet.A ServiceEndpoint instance maps to a wsdl:port element. Eine ServiceEndpoint-Instanz enthält eine Adresse, eine Bindung und einen Vertrag.A ServiceEndpoint instance contains an address, a binding, and a contract.

Endpunktverhalten, die die IWsdlExportExtension-Schnittstelle implementieren, können das wsdl:port-Element für den Endpunkt ändern, an den sie angehängt sind.Endpoint behaviors that implement the IWsdlExportExtension interface can modify the wsdl:port element for the endpoint they are attached to.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
Name Die wsdl:port /@name Wert für den Endpunkt und die wsdl:binding /@name Wert für die endpunktbindung.The wsdl:port/@name value for the endpoint and the wsdl:binding/@name value for the endpoint binding.
Address Die Adresse für die wsdl:port-Definition des Endpunkts.The address for the wsdl:port definition for the endpoint.

Der Transport für den Endpunkt bestimmt das Format der Adresse.The transport for the endpoint determines the format of the address. Z. B. für Transporte WCF unterstützt möglich es eine SOAP-Adresse oder einen Endpunktverweis.For example, for WCF-supported transports it could be a SOAP address or an endpoint reference.
Binding Die wsdl:binding-Definition für den Endpunkt.The wsdl:binding definition for the endpoint.

Im Gegensatz zu wsdl:binding Definitionen, die Bindungen in WCF an keinen Vertrag gebunden.Unlike wsdl:binding definitions, bindings in WCF are not tied to any one contract.
Contract Die wsdl:portType-Definition für den Endpunkt.The wsdl:portType definition for the endpoint.
Behaviors Endpunktverhalten, die die IWsdlExportExtension-Schnittstelle implementieren, können wsdl:port für den Endpunkt ändern.Endpoint behaviors that implement the IWsdlExportExtension interface can modify the wsdl:port for the endpoint.

BindungenBindings

Die Bindungsinstanz für eine ServiceEndpoint-Instanz wird einer wsdl:binding-Definition zugeordnet.The binding instance for a ServiceEndpoint instance maps to a wsdl:binding definition. Im Gegensatz zu wsdl:binding Definitionen, die einen bestimmten zugeordnet werden müssen wsdl:portType Definition der WCF-Bindungen werden vertragsunabhängig.Unlike wsdl:binding definitions, which must be associated with a specific wsdl:portType definition, WCF bindings are independent of any contract.

Eine Bindung besteht aus einer Auflistung von Bindungselementen.A binding is made up of a collection of binding elements. Jedes Element beschreibt einige Aspekte der Kommunikation zwischen dem Endpunkt und den Clients.Each element describes some aspect of how the endpoint communicates with clients. Darüber hinaus besitzt eine Bindung eine MessageVersion, die die EnvelopeVersion und die AddressingVersion für den Endpunkt angibt.Additionally, a binding has a MessageVersion that indicates the EnvelopeVersion and AddressingVersion for the endpoint.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
Name Wird im Standardnamen eines Endpunkts verwendet, bei dem es sich um den Bindungsnamen handelt, an den der Vertragsname durch einen Unterstrich abgetrennt angefügt ist.Used in the default name of an endpoint, which is the binding name with the contract name appended separated by an underscore.
Namespace targetNamespace für die wsdl:binding-Definition.The targetNamespace for the wsdl:binding definition.

Ist eine Richtlinie an den WSDL-Anschluss angehängt, wird der importierte Bindungsnamespace dem targetNamespace für die wsdl:port-Definition zugeordnet.On import, if a policy is attached to the WSDL port, the imported binding namespace maps to the targetNamespace for the wsdl:port definition.
BindingElementCollection entsprechend der Rückgabe durch die CreateBindingElements()-Methode.BindingElementCollection, as returned by the CreateBindingElements() method Verschiedene domänenspezifische Erweiterungen der wsdl:binding-Definition, in der Regel Richtlinienassertionen.Various domain-specific extensions to the wsdl:binding definition, typically policy assertions.
MessageVersion EnvelopeVersion und AddressingVersion für den Endpunkt.The EnvelopeVersion and AddressingVersion for the endpoint.

Bei Angabe von MessageVersion.None enthält die WSDL-Bindung keine SOAP-Bindung, und der WSDL-Anschluss weist keinen WS-Adressierungsinhalt auf.When MessageVersion.None is specified, the WSDL binding does not contain a SOAP binding and the WSDL port does not contain WS-Addressing content. Diese Einstellung wird in der Regel für Plain Old XML (POX)-Endpunkte verwendet.This setting is typically used for plain old XML (POX) endpoints.

BindingElementsBindingElements

Die Bindungselemente für eine Endpunktbindung werden verschiedenen WSDL-Erweiterungen in wsdl:binding zugeordnet, beispielsweise Richtlinienassertionen.The binding elements for an endpoint binding map to various WSDL extensions in the wsdl:binding, such as policy assertions.

Das TransportBindingElement für die Bindung bestimmt den für Transporte verwendeten Uniform Resource Identifier (URI) für eine SOAP-Bindung.The TransportBindingElement for the binding determines the transport Uniform Resource Identifier (URI) for a SOAP binding.

AddressingVersionAddressingVersion

Die AddressingVersion einer Bindung wird der Version der in wsd:port verwendeten Adressierung zugeordnet.The AddressingVersion on a binding maps to the version of addressing used in the wsd:port. WCF unterstützt SOAP 1.1- und SOAP 1.2-Adressen und WS-Adressierung 08/2004 und WS-Adressierung 1.0 Endpunktverweise.WCF supports SOAP 1.1 and SOAP 1.2 addresses, and WS-Addressing 08/2004 and WS-Addressing 1.0 endpoint references.

EnvelopeVersionEnvelopeVersion

Die EnvelopeVersion einer Bindung wird der der in wsdl:binding verwendeten SOAP-Version zugeordnet.The EnvelopeVersion on a binding maps to the version of SOAP used in the wsdl:binding. WCF unterstützt SOAP 1.1- und SOAP 1.2-Bindungen.WCF supports SOAP 1.1 and SOAP 1.2 bindings.

VerträgeContracts

Die ContractDescription-Instanz für eine ServiceEndpoint-Instanz wird wsdl:portType zugeordnet.The ContractDescription instance for a ServiceEndpoint instance maps to a wsdl:portType. Eine ContractDescription-Instanz beschreibt alle Vorgänge für einen angegebenen Vertrag.A ContractDescription instance describes all of the operations for a given contract.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
Name Die wsdl:portType /@name Wert für den Vertrag.The wsdl:portType/@name value for the contract.
Namespace Der targetNamespace für die wsdl:portType-Definition.The targetNamespace for the wsdl:portType definition.
SessionMode Die wsdl:portType /@msc:usingSession Wert für den Vertrag.The wsdl:portType/@msc:usingSession value for the contract. Dieses Attribut ist ein WCF-Erweiterung für WSDL 1.1.This attribute is a WCF extension for WSDL 1.1.
Operations Die wsdl:operation-Definitionen für den Vertrag.The wsdl:operation definitions for the contract.

VorgängeOperations

Ein OperationDescription Instanz ordnet eine wsdl:portType / wsdl:operation.An OperationDescription instance maps to a wsdl:portType/wsdl:operation. OperationDescription beinhaltet eine Auflistung von MessageDescription-Instanzen, die die Nachrichten für den Vorgang beschreiben.An OperationDescription contains a collection of MessageDescription instances that describe the messages for the operation.

Zwei Vorgangsverhalten besitzen einen großen Einfluss auf die Zuordnung von OperationDescription zu einem WSDL-Dokument: DataContractSerializerOperationBehavior und XmlSerializerOperationBehavior.Two operation behaviors participate heavily in how an OperationDescription is mapped to a WSDL document: DataContractSerializerOperationBehavior and XmlSerializerOperationBehavior.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
Name Die wsdl:portType / wsdl:operation /@name Wert für den Vorgang.The wsdl:portType/wsdl:operation/@name value for the operation.
ProtectionLevel Schutzassertionen in der Sicherheitsrichtlinie, die an die wsdl:binding/wsdl:operation-Nachrichten für diesen Vorgang angehängt ist.Protection assertions in security policy attached to the wsdl:binding/wsdl:operation messages for this operation.
IsInitiating Die wsdl:portType / wsdl:operation /@msc:isInitiating Wert für den Vorgang.The wsdl:portType/wsdl:operation/@msc:isInitiating value for the operation. Dieses Attribut ist ein WCF-Erweiterung für WSDL 1.1.This attribute is a WCF extension for WSDL 1.1.
IsTerminating Die wsdl:portType / wsdl:operation /@msc:isTerminating Wert für den Vorgang.The wsdl:portType/wsdl:operation/@msc:isTerminating value for the operation. Dieses Attribut ist ein WCF-Erweiterung für WSDL 1.1.This attribute is a WCF extension for WSDL 1.1.
Messages Die wsdl:portType / wsdl:operation / wsdl:input und wsdl:portType / wsdl:operation / wsdl:output Nachrichten für den Vorgang.The wsdl:portType/wsdl:operation/wsdl:input and wsdl:portType/wsdl:operation/wsdl:output messages for the operation.
Faults Die wsdl:portType / wsdl:operation / wsdl:fault Definitionen für den Vorgang.The wsdl:portType/wsdl:operation/wsdl:fault definitions for the operation.
Behaviors DataContractSerializerOperationBehavior und XmlSerializerOperationBehavior dienen dem Umgang mit der Vorgangsbindung und den Vorgangsnachrichten.The DataContractSerializerOperationBehavior and XmlSerializerOperationBehavior deal with the operation binding and the operation messages.

DataContractSerializerOperationBehaviorThe DataContractSerializerOperationBehavior

Das DataContractSerializerOperationBehavior für einen Vorgang ist eine IWsdlExportExtension-Implementierung, die die WSDL-Nachrichten und die Bindung für diesen Vorgang exportiert.The DataContractSerializerOperationBehavior for an operation is an IWsdlExportExtension implementation that exports the WSDL messages and binding for that operation. Die XML-Schematypen werden mithilfe von XsdDataContractExporter exportiert.The XML Schema types are exported using the XsdDataContractExporter. DataContractSerializerOperationBehavior bestimmt auch die Verwendung, das Format sowie das Schemaexport- und -importprogramm, die für diesen Vorgang zu verwenden sind.The DataContractSerializerOperationBehavior also determines the use, style, and schema exporter and importer to use for that operation.

EigenschaftenProperties WSDL-ZuordnungWSDL Mapping
DataContractFormatAttribute Die Style -Eigenschaft für dieses Attribut wird der wsdl:binding / wsdl:operation / soap:operation /@style Wert für den Vorgang.The Style property for this attribute maps to the wsdl:binding/wsdl:operation/soap:operation/@style value for the operation.

DataContractSerializerOperationBehavior unterstützt nur die literale Verwendung der Schematypen in WSDL.The DataContractSerializerOperationBehavior supports only the literal use of the schema types in the WSDL.

XmlSerializerOperationBehaviorThe XmlSerializerOperationBehavior

Das XmlSerializerOperationBehavior für einen Vorgang ist eine IWsdlExportExtension-Implementierung, die die WSDL-Nachrichten und die Bindung für diesen Vorgang exportiert.The XmlSerializerOperationBehavior for an operation is an IWsdlExportExtension implementation that exports the WSDL messages and binding for that operation. Die XML-Schematypen werden mithilfe von XmlSchemaExporter exportiert.The XML Schema types are exported using the XmlSchemaExporter. XmlSerializerOperationBehavior bestimmt auch die Verwendung, das Format sowie das Schemaexport- und -importprogramm, die für diesen Vorgang zu verwenden sind.The XmlSerializerOperationBehavior also determines the use, style, and schema exporter and importer to use for that operation.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
XmlSerializerFormatAttribute Die Style -Eigenschaft für dieses Attribut wird der wsdl:binding / wsdl:operation / soap:operation /@style Wert für den Vorgang.The Style property for this attribute maps to the wsdl:binding/wsdl:operation/soap:operation/@style value for the operation.

Die Use -Eigenschaft für dieses Attribut wird der wsdl:binding / wsdl:operation / soap:operation/ */@use Werte für alle Nachrichten in den Vorgang.The Use property for this attribute maps to the wsdl:binding/wsdl:operation/soap:operation/*/@use values for all messages in the operation.

MitteilungenMessages

Ein MessageDescription Instanz ordnet eine wsdl:message , verweist eine wsdl:portType / wsdl:operation / wsdl:input oder eine wsdl:portType / wsdl:operation / wsdl:outputNachricht in einem Vorgang.A MessageDescription instance maps to a wsdl:message that is referenced by a wsdl:portType/wsdl:operation/wsdl:input or a wsdl:portType/wsdl:operation/wsdl:output message in an operation. MessageDescription besitzt einen Text und Header.A MessageDescription has a body and headers.

EigenschaftenProperties WSDL-ZuordnungWSDL Mapping
Action Die SOAP- oder WS-Adressierungsaktion für die Nachricht.The SOAP or WS-Addressing action for the message.

Beachten Sie, dass Vorgänge, die die Aktionszeichenfolge "*" verwenden, nicht in WSDL dargestellt werden.Note that operations that use the Action string "*" are not represented in WSDL.
Direction MessageDirection.Input wird wsdl:input zugeordnet.MessageDirection.Input maps to wsdl:input.

MessageDirection.Output wird wsdl:output zugeordnet.MessageDirection.Output maps to wsdl:output.
ProtectionLevel Schutzassertionen in der Sicherheitsrichtlinie, die an die wsdl:message-Definition für diese Nachricht angehängt sind.Protection assertions in security policy attached to the wsdl:message definition for this message.
Body Der Text der Nachricht.The message body for the message.
Headers Die Header für die Nachricht.The headers for the message.
ContractDescription.Name, OperationContract.NameContractDescription.Name, OperationContract.Name Beim Export zum Ableiten der wsdl:message /@name Wert.On export, used to derive the wsdl:message/@name value.

NachrichtentextMessage Body

Ein MessageBodyDescription Instanz ordnet die wsdl:message / wsdl:part Definitionen für den Textteil einer Nachricht.A MessageBodyDescription instance maps to the wsdl:message/wsdl:part definitions for the body of a message. Der Nachrichtentext wird möglicherweise umgebrochen oder ist leer.The message body may be wrapped or bare.

EigenschaftenProperties WSDL-ZuordnungWSDL Mapping
WrapperName Wenn das Format nicht RPC, wird die WrapperName Maps an den Elementnamen verweist die wsdl:message / wsdl:part mit @name auf "Parameters" festgelegt.If the style is not RPC, then the WrapperName maps to the element name referenced by the wsdl:message/wsdl:part with @name set to "parameters".
WrapperNamespace Wenn das Format nicht RPC, wird die WrapperNamespace ordnet dem Elementnamespace für die wsdl:message / wsdl:part mit @name auf "Parameters" festgelegt.If the style is not RPC, then the WrapperNamespace maps to the element namespace for the wsdl:message/wsdl:part with @name set to "parameters".
Parts Die nachrichtenbezogenen Teile dieses Nachrichtentexts.The message parts for this message body.
ReturnValue Das untergeordnete Element des Wrapperelements, sofern ein Wrapperelement (Dokument mit Umbruch oder RPC-Format), besteht der erste wsdl:message / wsdl:part in der Nachricht.The child element of the wrapper element if a wrapper element exists (document wrapped style, or RPC style), otherwise the first wsdl:message/wsdl:part in the message.

NachrichtenteileMessage Parts

Ein MessagePartDescription Instanz ordnet eine wsdl:message / wsdl:part und XML-Schematyp oder Elements, das der Nachrichtenteil verweist.A MessagePartDescription instance maps to a wsdl:message/wsdl:part and the XML schema type or element that the message part points to.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
Name Die wsd:message / wsdl:part /@name Wert für den Nachrichtenteil und der Name des Elements, das das der Nachrichtenteil verweist.The wsd:message/wsdl:part/@name value for the message part and the name of the element that the message part points to.
Namespace Der Namespace des Elements, auf das der Nachrichtenteil verweist.The namespace of the element that the message part points to.
Index Der Index des der wsdl:message / wsdl:part für die Nachricht.The index of the wsdl:message/wsdl:part for the message.
ProtectionLevel Schutzassertionen in der Sicherheitsrichtlinie, die an die wsdl:message-Definition für diesen Nachrichtenteil angehängt sind.Protection assertions in security policy attached to the wsdl:message definition for this message part. Die Richtlinie wird parametrisiert, um auf den bestimmten Nachrichtenteil zu verweisen.The policy is parameterized to point to the specific message part.
MessageType Der XML-Schematyp des Elements, auf das der Nachrichtenteil verweist.The XML Schema type of the element that the message part points to.

NachrichtenheaderMessage Headers

Eine MessageHeaderDescription-Instanz ist ein Nachrichtenteil, der auch einer soap:header-Bindung für den Nachrichtenteil zugeordnet wird.A MessageHeaderDescription instance is a message part that also maps to a soap:header binding for the message part.

FehlerFaults

Ein FaultDescription Instanz ordnet eine wsdl:portType / wsdl:operation / wsdl:fault Definition und die zugehörigen wsdl:message Definition.A FaultDescription instance maps to a wsdl:portType/wsdl:operation/wsdl:fault definition and its associated wsdl:message definition. wsdl:message wird demselben Zielnamespace wie der zugewiesene WSDL-Anschlusstyp hinzugefügt.The wsdl:message is added to the same target namespace as its associated WSDL port type. wsdl:message besitzt einen einzelnen Nachrichtenteil mit der Bezeichnung "detail", der auf das XML-Schemaelement verweist, das dem DefaultType-Eigenschaftswert für die FaultDescription-Instanz entspricht.The wsdl:message has a single message part named "detail" that points to the XML Schema element that corresponds to the DefaultType property value for the FaultDescription instance.

EigenschaftenProperties WSDL-ZuordnungWSDL mapping
Name Die wsdl:portType / wsdl:operation / wsdl:fault /@name Wert für den Fehler.The wsdl:portType/wsdl:operation/wsdl:fault/@name value for the fault.
Namespace Der Namespace des XML-Schemaelements, auf das der Nachrichtenteil mit den Fehlerdetails verweist.The namespace of the XML Schema element that the fault detail message part points to.
Action Die SOAP- oder WS-Adressierungsaktion für den Fehler.The SOAP or WS-Addressing action for the fault.
ProtectionLevel Schutzassertionen in der Sicherheitsrichtlinie, die an die wsdl:message-Definition für diesen Fehler angehängt sind.Protection assertions in security policy attached to the wsdl:message definition for this fault.
DetailType Der XML-Schematyp des Elements, auf das der Nachrichtenteil mit den Details verweist.The XML Schema type of the element that the detail message part points to.
Name, ContractDescription.Name, OperationDescription.Name, Verwendet zum Ableiten der wsdl:message /@name Wert für die Fehlermeldung.Used to derive the wsdl:message/@name value for the fault message.

Siehe auchSee Also

System.ServiceModel.Description