WSDLIMP.EXE: Das Befehlszeilenhilfsprogramm für den WSDL-Import

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Befehlszeilenhilfsprogramme - Index

WSDLIMP erzeugt Code zur Darstellung der Typen und APIs, die ein WSDL-Dokument definiert. Mit diesem Code können Client-Anwendungen geschrieben werden, die den Webdienst aufrufen, den das WSDL-(Web Services Description Language)-Dokument beschreibt. Wenn Sie einen Server erstellen möchten, der den Webdienst implementiert, veranlasst eine Befehlszeilenoption, dass Implementierungsklassen erzeugt werden, die Sie dann durch Ergänzen der generierten Methoden vervollständigen können. Siehe auch Experte für den WSDL-Import.

Hinweis: WSDLIMP ignoriert alle Definitionen in dem WSDL-Dokument, für die kein Code erzeugt werden kann. Das heißt, es können nur Webdienste importiert werden, die SOAP oder Document Literal Encoding verwenden.

WSDLIMP.EXE importiert ein WSDL-Dokument und erzeugt Code, mit dem Ihre Anwendung den Webdienst aufrufen kann, den das WSDL-Dokument beschreibt. Das ist die Befehlszeilenversion des Webdienstimports, der auf der Registerkarte Web-Services des Dialogfeldes Objektgalerie zur Verfügung steht.

Sie können die Ausgabe beim Aufruf des Programms mit Hilfe der WSDLIMP-Befehlszeilenoptionen konfigurieren. Über diese Optionen lässt sich festlegen, ob beim Import Object-Pascal- oder C++-Quelltext erzeugt wird, ob Sie Implementierungsklassen generieren möchten, weil Sie einen Server schreiben, und wie die verschiedenen Definitionstypen im WSDL-Dokument behandelt werden sollen.

Befehlszeilensyntax

Die Befehlszeilensyntax für WSDLIMP lautet:

WSDLIMP [<Optionen>] <Eingabe-WSDL-Datei|URL>

Um die Hilfe für die Befehlszeile anzuzeigen, geben Sie Folgendes ein:

WSDLIMP

oder

WSDLIMP -?


Befehlszeilenelemente

Die folgenden Elemente können in der Befehlszeile von WSDLIMP verwendet werden:

Element Beschreibung
<Eingabe-WSDL-Datei>

Definiert den physikalischen Namen der zu importierenden WSDL-Datei.
Entweder <Eingabe-WSDL-Datei> oder <URL> ist erforderlich.

<URL>

Definiert den URL für den Zugriff auf ein WSDL-Dokument, das im Web veröffentlicht ist.

<Optionen>

Die Befehlszeilenoptionen für WSDLIMP.
Jeder Option muss ein Bindestrich - vorangestellt werden. Ein Pluszeichen + nach einer Option aktiviert die Option, ein Bindestrich (-) nach der Option deaktiviert sie. Das Pluszeichen + ist optional.

Befehlszeilenoptionen

Die folgende Tabelle führt alle Befehlszeilenoptionen für WSDLIMP auf. Für die meisten WSDLIMP-Befehlszeilenoptionen sind im integrierten Experten für den WSDL-Import entsprechende Optionen verfügbar. Die Namen solcher Optionen sind in der Tabellenspalte Name der Expertenoption enthalten.

Konventionen in der Tabellen:

  • Ein Pluszeichen + nach einer Option gibt an, dass die Option standardmäßig aktiviert ist.
  • Ein Bindestrich - nach einer Option gibt an, dass die Option standardmäßig deaktiviert ist.

WSDLIMP-Optionen

Option Name der Expertenoption Beschreibung
Optionen für die Spracherzeugung:
-C

Erzeugt C++-Quelltext, der die Definitionen in der WSDL-Datei repräsentiert.
Sie können entweder diese Option oder die Option -P verwenden, aber nicht beide.

-P

Erzeugt Delphi-Quelltext, der die Definitionen in der WSDL-Datei repräsentiert.
Sie können entweder diese Option oder die Option -C verwenden, aber nicht beide.

Optionen für die Quelltexterzeugung:
-Oa+

Optionale und nillable Elemente verarbeiten

Aktivieren Sie diese Option, damit das WSDL-Importprogramm relevante Informationen über optionale und nillable Eigenschaften erzeugt. Die SOAP-Laufzeit verwendet diese Informationen, um zu ermöglichen, dass bestimmte Eigenschaften nil sind.
Vorgabewert = Ein

-Ob-

Setter und Getter für Eigenschaften verwenden

Das WSDL-Importprogramm generiert standardmäßig Eigenschaften, die den Feldern der erzeugten Klassen direkt zugeordnet sind. Mit dieser Option können Sie erreichen, dass das WSDL-Importprogramm stattdessen Setter- und Getter-Methoden erzeugt.
Vorgabewert = Aus

-Od+

Destruktoren für extern einsetzbare Typen erzeugen

Ist diese Option aktiviert, erzeugt das Importprogramm Destruktoren für Typklassen. Diese Destruktoren geben alle verschachtelten Member frei, deren Typen Klassen oder Arrays mit Klassen sind. Die generierten Destruktoren vereinfachen die Freigabe der Instanzen von Klassen, die Typen repräsentieren, da Sie Klassen-Member, die auch anhand von Klassen den Typ TRemotable repräsentieren, nicht mehr explizit freigegeben müssen.
Vorgabewert = Ein

-Oe+

Bereichsabhängige Aufzählungen erzeugen

Erzeugt bereichsabhängige Aufzählungen.
Wenn diese Option aktiviert ist, werden bereichsabhängige Aufzählungen erzeugt. Aktivieren Sie diese Option, wenn das WSDL-Dokument verschiedene Aufzählungen enthält, die Werte mit demselben Namen definieren.
Vorgabewert = Ein

-Of+

Fehlertypen importieren

Aktivieren Sie diese Option, damit das WSDL-Importprogramm Typen verarbeitet, die als fehlerhaft gekennzeichnet sind.
Vorgabewert = Ein

-Og-

Interface-GUIDs mit COM API generieren

Ermöglicht dem WSDL-Importprogramm, jedes Mal, wenn ein Dienst importiert wird, eindeutige GUIDs zuzuweisen. Wenn diese Option deaktiviert ist, bleibt die einmal für einen Dienst generierte GUID unverändert, wenn das WSDL-Importprogramm Code für diesen Dienst erzeugt. In den meisten Situationen sollte diese Option nicht aktiviert werden.
Vorgabewert = Aus

-Oh+

Header-Typen importieren

Aktivieren Sie diese Option, damit das WSDL-Importprogramm Typen verarbeitet, die als Header gekennzeichnet sind.
Vorgabewert = Ein

-Oi+

Warnungskommentare erzeugen

Ist diese Option aktiviert, fügt das Importprogramm den Kommentaren Warnungen hinzu, die am Anfang der generierten Dateien einfügt werden. Diese Warnungen beschreiben Probleme, wie ungültige Typdefinitionen in einem WSDL-Dokument, Fehler, die aufgetreten sind, wenn Literalparameter abwickeln ausgewählt ist, usw.
Vorgabewert = Ein

-Oj+

Aufzählungs-Member validieren

Aktivieren Sie diese Option, damit das WSDL-Importprogramm beim Erzeugen der Aufzählungs-Member eine globale Symbolliste verwendet. Diese Option verhindert Namenskonflikte zwischen Aufzählungs-Membern der in dem WSDL-Dokument deklarierten Aufzählungstypen. Seit Delphi 2009 wird empfohlen, stattdessen die Option Bereichsabhängige Aufzählungen erzeugen -Oe zu aktivieren.
Vorgabewert = Ein

-Ok-

Reine Kollektionen zu Wrapper-Klassentypen zuordnen

Aktivieren Sie diese Option, damit das WSDL-Importprogramm importierte Array-Typen zu Wrapper-Klassen zuordnen kann. Diese Option ist in erster Linie für C++Builder gedacht. In C++Builder können Array-Typen nicht direkt WSDL-Array-Typen zugeordnet werden, daher ist eine Wrapper-Kollektionsklasse erforderlich.
Vorgabewert = Aus

-Ol-

Literale Typen ausgeben

Bei der Verwendung von Document Literal Encoding beschreibt der Webdienst keine Operationen. Stattdessen beschreibt er zwei Records, wovon einer die erwartete Eingabe und der andere die erwartete Ausgabe enthält. Ist die Option Literale Typen ausgeben aktiviert, erzeugt das Importprogramm Typdefinitionen für diese beiden Records (auch wenn Literalparameter abwickeln aktiviert ist).
Vorgabewert = Aus

-Om-

Out-Parameter zulassen

Diese Option steuert, ob das WSDL-Importprogramm Methoden erzeugt, die bei der Rückgabe von mehreren Teilen einer SOAP-Botschaft out-Parameter verwenden. Wenn diese Option deaktiviert ist, werden keine out-Parameter erzeugt. Das WSDL-Importprogramm generiert dann Wrapper-Klassen für mehrteilige SOAP-Botschaften.
Vorgabewert = Aus

-Oo+

Ein out-Parameter ist der Rückgabewert

Ist diese Option aktiviert, ordnet das Importprogramm Operationen mit einer einzelnen Ausgabenachricht solchen Funktionen zu, deren Ausgabenachricht der Rückgabewert ist. Anderenfalls wird die Ausgabenachricht einem Ausgabeparameter zugeordnet.
Vorgabewert = Ein

-Op+

Einbezogene und importierte Schemas verarbeiten

Aktivieren Sie diese Option, damit das WSDL-Importprogramm einbezogene und importierte Schemas verarbeitet.
Vorgabewert = Ein

-Or-

Alias für das Element von reinen Kollektionen generieren

Diese Option für die Abwärtskompatibilität erzeugt Code wie frühere Produktversionen. Damit ein Aliastyps wie früher erzeugt wird, aktivieren Sie diese Option. Vorgabewert = Aus

-Os-

Server-Implementierung statt Client-Implementierung erzeugen

Ist diese Option aktiviert, erzeugt das Importprogramm Implementierungsklassen für die importierten Interfaces. Benutzen Sie diese Option, wenn Sie einen Server entwickeln, der einen bereits in einem WSDL-Dokument definierten Webdienst implementiert.
Vorgabewert = Aus

-Ot+

Nur verwendete Typen ausgeben

Wenn diese Option aktiviert ist, erzeugt das WSDL-Importprogramm keinen Code für Typen, die im WSDL-Dokument deklariert sind, aber in dem bereitgestellten Dienst nicht verwendet werden. Beachten Sie bitte, dass Klassen sich nicht immer daran halten, weil ein Dienst eine Instanz einer abgeleiteten Klasse zurückgeben könnte, wenn eigentlich die Basisklasse erwartet wird. In diesem Fall wird der Code für die Basisklasse und die abgeleitete Klasse generiert.
Vorgabewert = Ein

-Ou+

Literalparameter abwickeln

Bei der Verwendung von Document Literal Encoding beschreibt der Webdienst keine Operationen. Stattdessen beschreibt er zwei Records, wovon einer die erwartete Eingabe und der andere die erwartete Ausgabe enthält. Ist die Option Literalparameter abwickeln aktiviert, konvertiert das Importprogramm diese beiden Records in Methodenaufrufe.
Vorgabewert = Ein

-Ov+

Ausführliche Informationen über Typen und Interfaces generieren

Wenn diese Option aktiviert ist, erzeugt das WSDL-Importprogramm Informationen zu Typ-Namespaces, Dienststilen, Namen der Bindungen und weiteren WSDL-Daten.
Vorgabewert = Ein

-Ow-

String als WideString

Ist diese Option aktiviert, wandelt das Importprogramm alle String-Typen in WideString-Werte um. Anderenfalls verwendet das Importprogramm den String-Typ. WideString-Werte können für erweiterte Zeichensätze erforderlich sein. Enthalten Strings keine derartigen Zeichen, ist der String-Typ effizienter.
Vorgabewert = Aus

-Ox+

Klassenaliase als Klassentypen erzeugen

Aktivieren Sie diese Option, damit das WSDL-Importprogramm Klassentypen anstelle von schwachen Aliasen erzeugt. Diese Option stellt sicher, dass die generierten Aliasklassen vom Basistyp abweichende RTTI (Run-Time Type Information) haben.
Vorgabewert = Ein

-Oz-

TXSString für einfache nillable Typen verwenden

Verwendet TXSString für einfache nillable Typen.
Der WSDL-Standard lässt zu, dass einfache Typen in Delphi nil bzw. in C++ NULL sind. Delphi und C++ lassen das nicht zu. Aktivieren Sie diese Option, damit das WSDL-Importprogramm diese Beschränkung umgeht, indem Instanzen von Wrapper-Klassen verwendet werden.
Vorgabewert = Aus

SOAP-Versionsoptionen:
-SOAP11

Nur WSDL-Bindungserweiterungen für das SOAP 1.1-Protokoll verarbeiten.
Diese Option kann nicht gleichzeitig mit -SOAP12 gesetzt werden.

-SOAP12

Nur WSDL-Bindungserweiterungen für das SOAP 1.2-Protokoll verarbeiten.
Diese Option kann nicht gleichzeitig mit -SOAP11 gesetzt werden.

Dateioptionen:
-D<Pfad>

Legt das Verzeichnis <Pfad> fest, in das WSDLIMP die erzeugten Dateien schreibt.

@<Resp-Datei>

Legt eine Textdatei fest, in der jede Zeile einen URL oder eine zu importierende WSDL-Datei enthält. Sie können optional nach dem URL oder dem WSDL-Dateinamen =AusgabeDateiName hinzufügen, um festzulegen, wo der erzeugte Code für jedes importierte WSDL-Dokument platziert werden soll.

-=<AusgabeDateiName>+

Interpretiert das Gleichheitszeichen = als Zuordnung zu dem Ausgabedateinamen AusgabeDateiName. Mit AusgabeDateiName kann nach dem URL oder dem WSDL-Dateinamen angegeben werden, wo der erzeugte Code für jedes importierte WSDL-Dokument platziert werden soll. (Siehe auch die Option @<Resp-Datei&gt.)
Ist die Option deaktiviert, wird das Gleichheitszeichen als Bestandteil des URL angesehen. Vorgabewert = Ein

Proxy/Server-Authentifizierung:
-user:Benutzername

Benutzername


Geben Sie mit dieser Option den Benutzernamen an, der verwendet werden soll, wenn sich das WSDL-Dokument auf einem sicheren Server befindet, für den eine Authentifizierung erforderlich ist.
Für diese Option muss auch die Option -pass:Passwort angegeben werden.

-pass:Passwort

Passwort

Geben Sie mit dieser Option das Passwort an, das neben dem Benutzernamen zur Authentifizierung auf dem Server mit dem WSDL-Dokument erforderlich ist.
Für diese Option muss auch die Option -user:Benutzername angegeben werden.

-proxy:Proxy

Proxy

Legen Sie die Host-Namen für jeden Proxy-Server fest, der Anforderungen an den angegebenen URL des WSDL-Dokuments weiterleiten muss.
Für diese Option müssen auch die Optionen -pass:Passwort und -user:Benutzername angegeben werden.

Befehlszeilenbeispiele für WSDLIMP

Befehlszeilenbeispiele für WSDLIMP finden Sie im Thema Das Dienstprogramm zum Importieren von WSDL verwenden.

Siehe auch