Anmerkungen zur SOAP/WSDL-Unterstützung

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Implementieren von SOAP-Webservices >

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">
    <part name="inputData" element="ns2:Vendor"/>
</message>

Der folgende Code hingegen referenziert einen "type" im Schema:

 

<message name="processRequest">
    <part name="inputData" type="ns2:VendorType"/>
</message>

 

 

 

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.


© 2019 Altova GmbH