Anmerkungen zur SOAP/WSDL-Unterstützung
Die folgende Tabelle enhält eine Übersicht über Einzelheiten zur WSDL-Unterstützung in MapForce.
WSDL-Unterstützung | Version 1.1, W3C Note von http://www.w3.org/TR/wsdl Version 2.0, W3C Recommendation von http://www.w3.org/TR/wsdl20/ |
WSDL-Typsystem | XML Schema 2001 |
SOAP-Unterstützung | Version 1.1: http://www.w3.org/TR/2000/NOTE-SOAP-20000508/ Version 1.2: http://www.w3.org/TR/soap12-part0/ |
Protokolle | SOAP über HTTP (HTTP POST, HTTP GET-Protokolle werden nicht unterstützt). |
C# | Der SOAPAction Header muss für jede Operation in C# unterschiedlich sein. |
Bindings | Derzeit werden mehrere Operationen mit demselben Namen nicht unterstützt (Abschnitt 2.5 der WSDL 1.1-Spezifikation). |
Stil/Verwendung | •Document/literal: unterstützt. •RPC/literal: in C# unterstützt •RPC/encoded: eingeschränkt unterstützt •Derzeit wird ein Stile/eine Verwendung pro Web-Dienst (Java) oder Operation (C#) unterstützt. |
SOAP Header | Abhängig von der zugrunde liegenden Plattform |
SOAP encodingStyle | Wenn use="encoded", wird als Kodierungsstil für den kompletten soap:Body "http://schemas.xmlsoap.org/soap/encoding/" angenommen. Andere Kodierungsstile werden nicht unterstützt.
Das Attribut encodingStyle wird in Messages ignoriert (Abschnitt 4.1.1 der SOAP 1.1-Spezifikation). |
Referenzen | •Verweise auf externe Ressourcen werden derzeit nicht unterstützt (Abschnitt 5.4.1 der SOAP 1.1-Spezifikation). •Verweise auf unanhängige Elemente werden unterstützt |
SOAP-ENC:Array | Linearer Zugriff unterstützt; partial arrays, sparse arrays werden derzeit nicht unterstützt. |
Benutzerdefinierte SOAP-Verbesserungen: | Nicht unterstützt. |
Standardwerte oder fixe Werte in Schemas | Nicht unterstützt. |
Validierung von Nicht- SOAP Messages | Keine Validierung; Messages werden an das zugrunde liegende Framework übergeben. |
Namespaces | Nicht-Namespace-Einträge sind ungültiger WSDL-Code und werden daher nicht unterstützt (WSDL und XML 1.0) |
WSDL 1.1
portType
Ein <portType> Element definiert eine Webservice-Schnittstelle, d.h. es:
•definiert die Operationen, die ausgeführt werden können
•die Messages, die in den einzelnen Operationen als Inputs und Outputs verwendet werden.
types
Das <types> Element definiert die Datentypen, die vom Webservice verwendet werden. MapForce unterstützt XML-Schemas in WSDL-Dateien, da dies das gebräuchlichste Typsystem für WSDL-Dateien ist. In MapForce werden diese Elemente (Datentypen) als Datenelemente in einer (Message)-Komponente angezeigt, sodass Sie diese direkt auf andere Datenelemente/Konstrukte mappen können.
message
Das <message> Element definiert die Parts (Teile) jeder Message sowie die Datenelemente der Input- und Output-Parameter einer Operation. Dies sind die Messages, die zwischen Client und Server ausgetauscht werden. Es gibt drei Arten von Messages: Input, Output und Fault. In MapForce ist jede message eine Komponente, von der oder auf die Sie andere Datenelemente mappen können. Messages können aus einem oder mehreren Message Parts bestehen.
Bei Verwendung der document/literal-Kombination in MapForce muss sich das message / part-Element auf ein globales Element und nicht einen type beziehen. So referenziert z.B. das Attribut element im folgenden Code ein in einem Schema definiertes globales Element (ns2:Vendor):
<message name="processRequest"> |
Der folgende Code hingegen referenziert einen "type" im Schema:
<message name="processRequest"> |
operation
In Operationen werden Messages als Input- und Output-Parameter verwendet. Eine Operation kann die folgenden Messages enthalten:
•eine Input Message
•null oder mehr Output Messages
•null oder mehr Fault Messages
Input Messages können nur als Quellkomponenten verwendet werden. Output- und Fault Messages können nur als Zielkomponenten verwendet werden.
WSDL 2.0
WSDL 2.0 unterscheidet sich beträchtlich von WSDL 1.1. Die wichtigsten Unterschiede sind:
•PortTypes wurden in Interfaces umbenannt.
•Messages und Parts werden nun anhand des XML-Schematypsystems im Element "types" definiert
•Ports wurden in Endpoints umbenannt.
•WSDL 2.0 Operation Inputs und Outputs werden vom XML-Schema definiert.
In MapForce wird für eine WSDL-Komponente im Dialogfeld "Komponenteneinstellungen" sowohl für WSD 1.1 Ports als auch für WSDL 2.0 Endpoints "Endpoint" angezeigt. |