@xml

Die komplexe Eigenschaft '@xml' enthält Daten, die sich auf den Laufzeitzugriff eines Web-Service (SOAP) auswirken. Diese Eigenschaft ist in Serviceabschnitten (Service), in Schnittstellenabschnitten (Interface) und in Funktionen innerhalb von Service- und Schnittstellenabschnitten verfügbar.

Die Eigenschaft '@xml' ist in den folgenden Fällen von Nutzen:
  • Sie erstellen eine WSDL-Datei und wollen vermeiden, die Namenskonventionen Ihres Unternehmens den Empfängern der WSDL-Datei zugänglich zu machen.
  • Sie erstellen einen Schnittstellenabschnitt auf Basis einer WSDL-Datei und wollen einen anderen EGL-Paketnamen verwenden als denjenigen, der Ihnen bereitgestellt wird. Die Eigenschaft ist auch dann nützlich, wenn Namen, die aus der WSDL-Datei kopiert werden, in EGL nicht gültig sind.
Die Eigenschaft '@xml' enthält die folgenden Eigenschaftsfelder, die weiter unten in diesem Thema erläutert werden:
name
Eine Zeichenfolge, die ein Namenspaar zuordnet:
  • Im Hinblick auf einen EGL-Serviceabschnitt oder EGL-Schnittstellenabschnitt handelt es sich um folgendes Paar: den Namen des EGL-Serviceabschnitts oder EGL-Schnittstellenabschnitts und den Namen des entsprechenden Elements 'portType' im WSDL-Dokument.
  • Im Hinblick auf eine EGL-Funktion handelt es sich um folgendes Paar: den Namen der EGL-Funktion und den Namen des entsprechenden Elements 'operation' im WSDL-Dokument.
namespace
Eine Zeichenfolge, die ein Namenspaar zuordnet:
  • Im Hinblick auf einen EGL-Serviceabschnitt oder EGL-Schnittstellenabschnitt handelt es sich um folgendes Paar: den Namen des EGL-Pakets und den Namen des Zielnamensbereichs im WSDL-Dokument.
  • Im Hinblick auf eine EGL-Funktion wird die Eigenschaft 'namespace' ignoriert.
Es folgt eine ausführlichere Erläuterung:
  • Wenn Sie eine WSDL-Datei auf Basis eines EGL-Serviceabschnitts erstellen (wie es beim Generieren eines Web-Service der Fall ist), sieht das Standardverhalten wie folgt aus:
    • Das Element 'portType' erhält den Namen des EGL-Service.
    • Der Zielnamensbereich der WSDL-Datei erhält den Namen des EGL-Pakets, und zwar in umgekehrter Reihenfolge und mit dem Präfix http://. Lautet der Paketname beispielsweise com.ibm.egl.mypkg, so erhält der Zielnamensbereich in der WSDL-Datei den Namen http://mypkg.egl.ibm.com.

    Sie können eine Eigenschaft vom Typ '@xml' hinzufügen, um den Namen des Elements 'portType' (mithilfe des Eigenschaftsfelds 'name'), den Namen des Zielnamensbereichs des WSDL-Dokuments (mithilfe des Eigenschaftsfelds 'namespace') oder beide Namen anzugeben.

    Der in WSDL für EGL-Web-Services generierte Endpunkt nimmt standardmäßig den Wert 'http://localhost:9081' an. Unter Umständen müssen Sie die WSDL-Datei manuell ändern, um den entsprechenden Server-Port anzugeben, der auf Ihrer Maschine verwendet wird. Informationen zum verwendeten Server-Port finden Sie in der Dokumentation für Ihren Server.

  • Wenn ein EGL-Tool einen Schnittstellenabschnitt auf Basis eines WSDL-Dokuments erstellt, sieht das Standardverhalten wie folgt aus:
    • Das Tool übernimmt den Namen des Schnittstellenabschnitts aus dem Element 'portType' im WSDL-Dokument.
    • Das Tool übernimmt den Namen des EGL-Pakets aus dem Zielnamensbereich des WSDL-Dokuments. Das Tool schließt den Paketnamen in die erstellte EGL-Datei ein und erstellt gegebenenfalls das Paket selbst.

      In diesem Fall entfernt das Tool das Präfix http:// (sofern vorhanden) und kehrt die Reihenfolge um. Lautet der Zielnamensbereich beispielsweise http://mypkg.egl.ibm.com, ändert das EGL-Tool den EGL-Paketnamen in com.ibm.egl.mypkg.

     In bestimmten Fällen sind die Namen in EGL nicht gültig. Trifft dies zu, erstellt das EGL-Tool gültige Namen und verwendet die Eigenschaft '@xml', um die Namen anzugeben, die sich im WSDL-Dokument befinden. Anhand dieser Eigenschaft wird sichergestellt, dass Serviceaufrufe erfolgreich ausgeführt werden, obwohl die Namen nicht übereinstimmen.

    Mithilfe des EGL-Tools können Sie die Namen ändern, die das Tool dem Schnittstellenabschnitt und dem Paket zugeordnet hat.

Funktionen in einem EGL-Serviceabschnitt oder EGL-Schnittstellenabschnitt stellen Operationselemente dar, die in ein WSDL-Element vom Typ 'portType' eingebettet sind. In diesem Fall wird bei der Workbench-Verarbeitung niemals der Zielnamensbereich für das Operationselement berücksichtigt. Stattdessen wird davon ausgegangen, dass der Namensbereich mit demjenigen des Elements 'portType' identisch ist. Der Name des Operationselements in der WSDL-Datei bedarf jedoch besonderer Aufmerksamkeit:
  • Beim Erstellen der WSDL-Datei wird der Operationsname aus dem Eigenschaftsfeld 'name' der Eigenschaft '@xml' übernommen. Der Standardwert ist der EGL-Funktionsname.
  • Wenn ein EGL-Tool einen Schnittstellenabschnitt auf Basis eines WSDL-Dokuments erstellt und der Operationsname in EGL nicht gültig ist, erstellt das EGL-Tool einen anderen Namen für die EGL-Funktion, verwendet jedoch die Eigenschaft 'name', um den Namen des Operationselements beizubehalten.