ServiceDescription és WSDL-referencia
Ez a témakör azt ismerteti, hogy a Windows Communication Foundation (WCF) hogyan képezi le a Web Services Description Language (WSDL) dokumentumait példányokra és példányokról ServiceDescription .
A ServiceDescription Térképek a WSDL 1.1-hez
A WCF használatával WSDL-dokumentumokat exportálhat a szolgáltatás egy ServiceDescription példányából. A WSDL-dokumentumok automatikusan létrejönnek a szolgáltatáshoz metaadat-végpontok közzétételekor.
A WSDL-dokumentumokból is importálhat ServiceEndpoint példányokat, ContractDescription példányokat és Binding példányokat a WsdlImporter
típus használatával.
A WCF által exportált WSDL-dokumentumok külső XML-sémadokumentumokból importálják a használt XML-sémadefiníciókat. A rendszer külön XML-sémadokumentumot exportál minden célnévtérhez, amelyet a szolgáltatásban használt adattípusok használnak. Hasonlóképpen, a rendszer külön WSDL-dokumentumot exportál minden olyan célnévtérhez, amelyet a szolgáltatásszerződések használnak.
ServiceDescription
A ServiceDescription példányok egy wsdl:service
elemre képeznek le. A ServiceDescription példányok olyan példánygyűjteményt ServiceEndpoint tartalmaznak, amelyet minden egyes elem megfeleltet wsdl:port
.
Tulajdonságok | WSDL-leképezés |
---|---|
Name |
A wsdl:service szolgáltatás /@name értéke. |
Namespace |
A szolgáltatás definíciójának wsdl:service targetNamespace-címe. |
Endpoints |
A wsdl:port szolgáltatás definíciói. |
ServiceEndpoint
A ServiceEndpoint példányok egy wsdl:port
elemre képeznek le. A ServiceEndpoint példány egy címet, egy kötést és egy szerződést tartalmaz.
Az interfészt megvalósító IWsdlExportExtension végponti viselkedések módosíthatják annak a végpontnak az wsdl:port
elemét, amelyhez csatlakoznak.
Tulajdonságok | WSDL-leképezés |
---|---|
Name |
A wsdl:port végpont /@name értéke és a wsdl:binding végpontkötés /@name értéke. |
Address |
A végpont definíciójának wsdl:port címe.A végpont átvitele határozza meg a cím formátumát. A WCF által támogatott átvitelek esetében például egy SOAP-cím vagy egy végponthivatkozás lehet. |
Binding |
A wsdl:binding végpont definíciója.A definíciókkal ellentétben wsdl:binding a WCF-ben lévő kötések nem kapcsolódnak egyetlen szerződéshez sem. |
Contract |
A wsdl:portType végpont definíciója. |
Behaviors |
Az interfészt megvalósító IWsdlExportExtension végponti viselkedések módosíthatják a wsdl:port végpontot. |
Kötések
A példány kötéspéldánya ServiceEndpoint
definícióra wsdl:binding
képez le. Az adott wsdl:portType
definícióhoz társítandó definíciókkal ellentétben wsdl:binding
a WCF-kötések minden szerződéstől függetlenek.
A kötések kötéselemekből álló gyűjteményből áll. Minden elem leírja, hogyan kommunikál a végpont az ügyfelekkel. Emellett egy kötés rendelkezik egy olyan kötéssel MessageVersion , amely a EnvelopeVersion végpontot és AddressingVersion a végpontot jelzi.
Tulajdonságok | WSDL-leképezés |
---|---|
Name |
Egy végpont alapértelmezett nevére használatos, amely a kötés neve aláhúzásjellel elválasztott szerződésnévvel. |
Namespace |
A targetNamespace definícióhoz wsdl:binding tartozó.Importáláskor, ha egy szabályzat a WSDL-porthoz van csatolva, az importált kötési névtér megfelel a targetNamespace wsdl:port definíciónak. |
BindingElementCollection , a () metódus által visszaadott CreateBindingElements |
A definíció különböző tartományspecifikus bővítményei wsdl:binding , jellemzően szabályzat-állítások. |
MessageVersion |
A EnvelopeVersion végpont és AddressingVersion a végpont.Ha MessageVersion.None meg van adva, a WSDL-kötés nem tartalmaz SOAP-kötést, és a WSDL-port nem tartalmaz WS-Addressing tartalmat. Ezt a beállítást általában egyszerű régi XML-(POX-) végpontokhoz használják. |
BindingElements
A végpont kötési leképezésének kötési elemei a különböző WSDL-bővítményekre, például a wsdl:binding
házirend-állításokra.
A TransportBindingElement kötés értéke határozza meg a SOAP-kötések átviteli egységes erőforrás-azonosítóját (URI).
AddressingVersion
A AddressingVersion
kötésen lévő leképezések a címzésnek a .-ban használt verziójára lesznek leképezésre wsd:port
. A WCF támogatja a SOAP 1.1 és SOAP 1.2 címeket, valamint a WS-addressing 08/2004 és a WS-Addressing 1.0 végponthivatkozásokat.
Borítékverzió
A EnvelopeVersion
kötésen lévő leképezések a SOAP-ban használt verzióra lesznek leképzve.wsdl:binding
A WCF támogatja a SOAP 1.1 és a SOAP 1.2 kötéseket.
Szerződések
A ContractDescription példány példánya ServiceEndpoint
egy wsdl:portType
. Egy ContractDescription
példány egy adott szerződés összes műveletét ismerteti.
Tulajdonságok | WSDL-leképezés |
---|---|
Name |
A wsdl:portType szerződés /@name értéke. |
Namespace |
A definíció targetNamespace-címe wsdl:portType . |
SessionMode |
A wsdl:portType /@msc:usingSession érték a szerződéshez. Ez az attribútum a WSDL 1.1 WCF-bővítménye. |
Operations |
A wsdl:operation szerződés definíciói. |
Üzemeltetés
Egy OperationDescription példány egy/wsdl:portType
wsdl:operation
. Az An OperationDescription
a művelet üzeneteit leíró példánygyűjteményt MessageDescription
tartalmaz.
A WSDL-dokumentumokhoz való hozzárendelésben OperationDescription
két művelet viselkedése vesz részt nagy mértékben: DataContractSerializerOperationBehavior
és XmlSerializerOperationBehavior
.
Tulajdonságok | WSDL-leképezés |
---|---|
Name |
A wsdl:portType /wsdl:operation művelet /@name értéke. |
ProtectionLevel |
A művelet üzeneteihez wsdl:binding/wsdl:operation csatolt biztonsági szabályzatban szereplő védelmi állítások. |
IsInitiating |
A wsdl:portType /wsdl:operation művelet /@msc:isInitiating értéke. Ez az attribútum a WSDL 1.1 WCF-bővítménye. |
IsTerminating |
A wsdl:portType /wsdl:operation művelet /@msc:isTerminating értéke. Ez az attribútum a WSDL 1.1 WCF-bővítménye. |
Messages |
A wsdl:portType //wsdl:operation wsdl:input művelet üzenetei éswsdl:output wsdl:portType /wsdl:operation /üzenetei. |
Faults |
A wsdl:portType //wsdl:operation wsdl:fault művelet definíciói. |
Behaviors |
A DataContractSerializerOperationBehavior műveletkötés és XmlSerializerOperationBehavior a műveleti üzenetek kezelése. |
A DataContractSerializerOperationBehavior
A DataContractSerializerOperationBehavior
művelet IWsdlExportExtension
olyan implementáció, amely exportálja a WSDL-üzeneteket és a kötést az adott művelethez. Az XML-sématípusokat a rendszer a XsdDataContractExporter
. Emellett DataContractSerializerOperationBehavior
meghatározza az adott művelethez használni kívánt használatot, stílust és sémaexportálót és -importálót is.
Tulajdonságok | WSDL-leképezés |
---|---|
DataContractFormatAttribute |
Az Style attribútum tulajdonsága asoap:operation wsdl:binding /wsdl:operation / művelet /@style értékére van leképzve.Ez DataContractSerializerOperationBehavior csak a sématípusok konstans használatát támogatja a WSDL-ben. |
Az XmlSerializerOperationBehavior
A XmlSerializerOperationBehavior
művelet IWsdlExportExtension
olyan implementáció, amely exportálja a WSDL-üzeneteket és a kötést az adott művelethez. Az XML-sématípusokat a rendszer a XmlSchemaExporter
. Emellett XmlSerializerOperationBehavior
meghatározza az adott művelethez használni kívánt használatot, stílust és sémaexportálót és -importálót is.
Tulajdonságok | WSDL-leképezés |
---|---|
XmlSerializerFormatAttribute |
Az Style attribútum tulajdonsága asoap:operation wsdl:binding /wsdl:operation / művelet /@style értékére van leképzve.Az Use attribútum tulajdonsága asoap:operation wsdl:binding /wsdl:operation / művelet összes üzenetének /*/@use értékeihez lesz leképzve. |
Üzenetek
A MessageDescription
példányok egy wsdl:message
művelet egy vagy egywsdl:operation
wsdl:portType
/wsdl:output
/ üzenete által wsdl:portType
/wsdl:operation
/wsdl:input
hivatkozott példányra képezhetők le. A MessageDescription
törzse és fejlécei vannak.
Tulajdonságok | WSDL-leképezés |
---|---|
Action |
Az üzenet SOAP vagy WS-Addressing művelete. Vegye figyelembe, hogy a"*" műveleti sztringet használó műveletek nem jelennek meg a WSDL-ben. |
Direction |
MessageDirection.Input a térképet a wsdl:input MessageDirection.Output a térképet a wsdl:output |
ProtectionLevel |
Az üzenet definícióhoz wsdl:message csatolt biztonsági szabályzatban szereplő védelmi állítások. |
Body |
Az üzenet üzenettörzse. |
Headers |
Az üzenet fejlécei. |
ContractDescription.Name , OperationContract.Name |
Exportáláskor a wsdl:message /@name érték származtatására szolgál. |
Üzenet törzse
Egy MessageBodyDescription
példány megfelel az wsdl:message
/wsdl:part
üzenet törzsének definícióinak. Az üzenet törzse lehet burkolt vagy csupasz.
Tulajdonságok | WSDL-leképezés |
---|---|
WrapperName |
Ha a stílus nem RPC, akkor a rendszer a WrapperName "paraméterek" beállítássalwsdl:part wsdl:message /@name hivatkozott elemnévre képez le. |
WrapperNamespace |
Ha a stílus nem RPC, akkor a rendszer a WrapperNamespace "paraméterek" értékre állítja azwsdl:part wsdl:message /elem névterét.@name |
Parts |
Az üzenettörzs üzenetrészei. |
ReturnValue |
A burkolóelem gyermekeleme, ha létezik burkolóelem (dokumentumburkolt stílus vagy RPC-stílus), ellenkező esetben az üzenet első wsdl:message /wsdl:part eleme. |
Üzenetrészek
A MessagePartDescription
példány megfelel egy wsdl:message
/wsdl:part
olyan XML-sématípusnak vagy -elemnek, amelyre az üzenetrész mutat.
Tulajdonságok | WSDL-leképezés |
---|---|
Name |
Az wsd:message /wsdl:part üzenetrész /@name értéke és annak az elemnek a neve, amelyekre az üzenetrész mutat. |
Namespace |
Annak az elemnek a névtere, amelyre az üzenetrész mutat. |
Index |
Az üzenet indexe wsdl:message /wsdl:part . |
ProtectionLevel |
Az üzenetrész definíciójához wsdl:message csatolt biztonsági szabályzatban szereplő védelmi állítások. A szabályzat paraméteresen az adott üzenetrészre mutat. |
MessageType |
Annak az elemnek az XML-sématípusa, amelyre az üzenetrész mutat. |
Üzenetfejlécek
A MessageHeaderDescription
példány egy üzenetrész, amely az üzenetrész kötésére is megfelel soap:header
.
Hibák
A FaultDescription
példányok egywsdl:operation
//wsdl:portType
wsdl:fault
definícióra és annak társított definíciójára képeznek le leképezést.wsdl:message
A wsdl:message
rendszer ugyanahhoz a célnévtérhez lesz hozzáadva, mint a társított WSDL-porttípus. A wsdl:message
"detail" nevű üzenetrész a példány tulajdonságértékének megfelelő DefaultType
XML-sémaelemre FaultDescription
mutat.
Tulajdonságok | WSDL-leképezés |
---|---|
Name |
A wsdl:portType //wsdl:operation wsdl:fault hiba /@name értéke. |
Namespace |
Annak az XML-sémaelemnek a névtere, amelyre a hibainformációs üzenetrész mutat. |
Action |
A SOAP vagy WS-Addressing művelet a hibához. |
ProtectionLevel |
A biztonsági szabályzatban a hiba definíciójának wsdl:message megfelelő védelmi állítások. |
DetailType |
Annak az elemnek az XML-sématípusa, amelyre a részletes üzenetrész mutat. |
Name, ContractDescription.Name, OperationDescription.Name, |
A hibaüzenet /@name értékének származtatására wsdl:message szolgál. |