Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Externe Definitionen  Dokument im Navigationsbaum lokalisieren

Verwendung

Für die Beschreibung der Message-Struktur zur Laufzeit gibt es eine Reihe von Standard-Schemata. Viele verwenden WSDL (Web Service Description Language), XSD (XML Schema Definition Language) oder DTDs (Document Type Definitions), um ein Message-Schema festzulegen. In Fällen, in denen eine Beschreibung der Struktur einer Message bereits in einem dieser Formate vorliegt, können Sie sie über den Import als externe Definition im ES Repository wiederverwenden, statt sie erneut manuell über den Datentyp-Editor eingeben zu müssen.

Hinweis

Siehe auch: Messages.

Integration

Mit einer externen Definition können Sie eine lokale WSDL-, XSD- oder DTD-Datei in das ES Repository importieren und spezifizieren, welche Teile des Schemas als Beschreibung für eine Message extrahiert werden sollen. Die so extrahierten Message-Schemas können Sie für folgende Zwecke verwenden:

      Um sie als Request-, Response- oder Fault-Message in Operationen von Service-Interfaces zu verwenden.

      Um sie als Ausgangs- oder Zielstruktur für Message-Mappings zu verwenden.

Im ES Builder erkennen Sie zugeordnete Message-Schemas an der Bezeichnung Diese Grafik wird im zugehörigen Text erklärt externe Message. Bezogen auf den Aufbau von Service-Interfaces haben Message-Schemas die gleiche Bedeutung wie Message-Typen.

Link auf externe Webseite

Aus technischen Gründen unterstützen die Proxy-Generierung und die jeweiligen Editoren im ES Builder nicht den gesamten Sprachumfang von XML Schema beziehungsweise WSDL. Eine Übersicht, welche Sprachelemente unterstützt werden, finden Sie im SAP Developer Network (SDN) unter der Internetadresse https://www.sdn.sap.com/irj/sdn SOA Middleware Repository-Based Modeling and Design. Im Knowledge Center auf der Seite Repository-Based Modeling and Design wählen Sie Enterprise Services Repository & Registry und auf der folgenden Seite das Dokument Supported XML Schema and WSDL.

Voraussetzungen

Das zu importierende Dokument muss dem WSDL-, XSD- beziehungsweise DTD-Standard genügen.

Funktionsumfang

Extraktion von Message-Schemata

Der ES Builder setzt importierte externe Definitionen in eine für die weitere Verwendung handhabbare WSDL-Definition um, wenn die Datei nicht sowieso schon in WSDL vorliegt. Dabei identifiziert der ES Builder die Definitionen, die die Message-Struktur beschreiben. Abhängig vom importierten Format können Sie für diesen Vorgang den Modus vor dem Import festlegen:

Modi für den Import von externen Definitionen

Externes Format

Auswahl der Listbox Messages

Bedeutung

WSDL

keine extrahieren

Import ohne Konvertierung, um auf die externe Definition zentral zugreifen zu können.

aus allen enthaltenen Message-Definitionen

Extraktion aller Message-Definitionen im WSDL. Enthält die Message-Definition mehr als einen Part, werden alle Parts über einen übergeordneten Part zusammengefasst.

unter Annahme von rpc-style

Siehe: Import für WSDL-Dokumente im rpc-style

XSD

keine extrahieren

Siehe oben.

aus allen enthaltenen globalen Elementen

Interpretation aller Element-Definitionen als Message-Schema.

aus allen unreferenzierten globalen Elementen

Es werden nur solche Element-Definitionen als Message-Schema interpretiert, die von keinem anderen Element referenziert werden.

DTD

keine extrahieren

Siehe oben.

aus dem DOCTYPE

Interpretation des DOCTYPE-Tags als Message-Schema.

aus dem ersten ELEMENT

Interpretation des ersten ELEMENT-Tags als Message-Schema.

Quellen und Verweise auf externe Dokumente

WSDL-, XSD- und DTD-Dokumente können aufeinander verweisen. In der externen Definition werden diese Verweise folgendermaßen unterstützt:

      Der ES Builder untersucht beim Import eines Dokuments dieses auf Verweise. Gibt es Verweise, werden diese auf der Registerkarte externe Verweise für die zum Dokument angelegten externen Definition angezeigt.

      Der Verweis kann nur dann innerhalb des ES Repository ausgewertet werden, wenn es im gleichen Namensraum zur referenzierenden externen Definition eine andere externe Definition gibt, bei der als Quelle der gleiche String eingetragen ist, der auf der Registerkarte externe Verweise angezeigt wird. Die Quelle entspricht also der Referenz, die im verweisenden Dokument enthalten ist. Sie geben die Quelle über das Attribut Quelle im Editor der referierten externen Definition an.

Diese Grafik wird im zugehörigen Text erklärt

In einem verweisenden XSD-Dokument steht <xsd:import schemaLocation="../common.xsd" />. Nach dem Import dieses Dokuments steht auf der Registerkarte externe Verweise, dass auf eine andere externe Definition mit der Quelle ../common.xsd verwiesen werden muss, um den Verweis auflösen zu können. Wenn Sie für die Datei common.xsd eine weitere externe Definition im gleichen Namensraum anlegen, die Datei über diese externe Definition importieren und als Quelle dieser externen Definition den String ../common.xsd angeben, kann der Verweis aufgelöst werden und der Editor zeigt bei der referierenden externen Definition die referierte externe Definition auf der Registerkarte externe Verweise an.

Da Verweise zwischen Dateien in der Regel eine Verzeichnisstruktur auf dem Dateisystem voraussetzen, kann es beim Import in das ES Repository zu Verweiskonflikten kommen. Weitere Informationen mit Beispielen finden Sie im Abschnitt Massenimport für externe Definitionen.

Aktivitäten

...

       1.      Wenn Sie viele externe Definitionen auf einmal importieren müssen, wählen Sie Werkzeuge Externe Definitionen importieren im Hauptmenü des ES Builders.

Weitere Informationen: Massenimport für externe Definitionen.

Die folgenden Schritte beschreiben den Einzelimport.

       2.      Legen Sie eine externe Definition an (siehe: Neues Objekt anlegen).

       3.      Wählen Sie über das Listenfeld Kategorie aus, ob Sie ein WSDL-, XSD- oder DTD-Dokument importieren möchten. Je nach dieser Einstellung verändern sich die Auswahlmöglichkeiten des Listenfeldes Modus.

       4.      Wählen Sie über das Listenfeld Modus, welche Teile des Dokuments als Message-Schema interpretiert werden sollen (siehe oben).

       5.      Wählen Sie mit Hilfe des Datei-Dialogs eine Datei aus, die in das ES Repository hochgeladen werden soll. Der ES Builder kann sich aus technischen Gründen nur den Dateinamen, aber nicht den Verzeichnispfad der Datei merken.

       6.      Nach der Auswahl der Datei können Sie über die Registerkarten folgende Informationen abrufen:

       Importiertes Dokument: Ihre Datei im Text-Format

       Nachrichten: Die Message-Schemas, die über den von Ihnen gewählten Modus extrahiert worden sind.

       WSDL: Das Ergebnis der Konvertierung nach WSDL

       Externe Verweise: Übersicht über verwendete Verweise im importierten Dokument. Hier wird sichtbar, falls andere importierte Dokumente erkannt worden sind.

       7.      Falls Ihr importiertes Dokument von anderen externen Definitionen referenzierbar sein soll, geben Sie im Eingabefeld Quelle die zum Dokument gehörende eindeutige ID an. Diese ID muss dem String entsprechen, über den dieses Dokument in anderen Dokumenten referenziert wird. Auf diese Weise kann der ES Builder aufeinander verweisende Dokumente einander zuordnen (siehe oben).

Beispiel

Sie wollen ein XSD-Dokument myMessage in das ES Repository importieren, dass über die <include>-Anweisung auf drei andere XSD-Dokumente myStr1, myStr2 und myStr3 verweist. Wenn Sie die Dokumente einzeln importieren wollen, gehen Sie beispielsweise folgendermaßen vor: Importieren Sie zuerst myMessage. Dann zeigt die Registerkarte externe Verweise an, dass auf drei Dokumente verwiesen wird und dass diese noch nicht im ES Repository gefunden wurden. Danach legen Sie weitere externe Definitionen für myStr1, myStr2 und myStr3 im gleichen Namensraum an und geben jeweils die Quelle für diese Dokumente an. Wenn die Quelle nicht im Dokument selbst enthalten ist, finden Sie sie im verweisenden Dokument. Wenn Sie die Anzeige der externen Definition für myMessage auffrischen, zeigt die Registerkarte Externe Verweise, dass die Dokumente im ES Repository gefunden worden sind. Sie können dann von dort über Doppelklick zu den anderen referenzierten externen Definitionen im ES Repository navigieren.

 

 

 

 

Ende des Inhaltsbereichs