WSDLIMP.EXE: Das Befehlszeilenhilfsprogramm für den WSDL-Import
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.
Inhaltsverzeichnis
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. |
<URL> |
Definiert den URL für den Zugriff auf ein WSDL-Dokument, das im Web veröffentlicht ist. |
<Optionen> |
Die Befehlszeilenoptionen für WSDLIMP. |
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. | |
-P |
Erzeugt Delphi-Quelltext, der die Definitionen in der WSDL-Datei repräsentiert. | |
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. |
-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. |
-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. |
-Oe+ |
Bereichsabhängige Aufzählungen erzeugen |
Erzeugt bereichsabhängige Aufzählungen. |
-Of+ |
Fehlertypen importieren |
Aktivieren Sie diese Option, damit das WSDL-Importprogramm Typen verarbeitet, die als fehlerhaft gekennzeichnet sind. |
-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. |
-Oh+ |
Header-Typen importieren |
Aktivieren Sie diese Option, damit das WSDL-Importprogramm Typen verarbeitet, die als Header gekennzeichnet sind. |
-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. |
-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 |
-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. |
-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). |
-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. |
-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. |
-Op+ |
Einbezogene und importierte Schemas verarbeiten |
Aktivieren Sie diese Option, damit das WSDL-Importprogramm einbezogene und importierte Schemas verarbeitet. |
-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. |
-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. |
-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. |
-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. |
-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. |
-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. |
-Oz- |
TXSString für einfache nillable Typen verwenden |
Verwendet TXSString für einfache nillable Typen. |
SOAP-Versionsoptionen: | ||
-SOAP11 |
Nur WSDL-Bindungserweiterungen für das SOAP 1.1-Protokoll verarbeiten. | |
-SOAP12 |
Nur WSDL-Bindungserweiterungen für das SOAP 1.2-Protokoll verarbeiten. | |
Dateioptionen: | ||
-D<Pfad> |
Legt das Verzeichnis | |
@<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>+ |
Interpretiert das Gleichheitszeichen | |
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. |
-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. |
-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. |
Befehlszeilenbeispiele für WSDLIMP
Befehlszeilenbeispiele für WSDLIMP finden Sie im Thema Das Dienstprogramm zum Importieren von WSDL verwenden.