Befehl WSDL2Java für JAX-RPC-Anwendungen
Führen Sie das Befehlszeilentool WSDL2Java für die WSDL-Datei aus, um Java™-APIs und Schablonen für Implementierungsdeskriptoren zu erstellen.
Das Befehlszeilentool WSDL2Java wird auf der z/OS-Plattform nicht unterstützt. Diese
Funktionalität wird von den Assembliertools, die in der z/OS-Version von WebSphere Application Server
enthalten sind, bereitgestellt.
Eine WSDL-Datei (Web Services Description Language) beschreibt einen Web-Service. Die Spezifikation Java API for XML-based Remote Procedure Call (JAX-RPC) 1.1 definiert eine Java-API-Zuordnung, die mit dem Web-Service interagiert. Die Spezifikation Web Services for Java Platform, Enterprise Edition (Java EE) definiert die Implementierungsdeskriptoren, die einen Web-Service in einer Java-EE-Umgebung implementieren. Der Befehl WSDL2Java wird für die WSDL-Datei ausgeführt, um Java-APIs und Schablonen für Implementierungsdeskriptoren entsprechend diesen Spezifikationen zu erstellen.

targetNamespace="MyRelNamespace"
.
Sie können den relativen Namespace in diesem Beispiel in einen absoluten Namespace ändern, indem Sie das Protokoll und URI-Basisdaten hinzufügen: targetNamespace="http://www.sample.com/MyRelNamespace"
Befehlszeilensyntax
WSDL2Java [Argumente] WSDL-URI
Erforderliche Argumente
- WSDL-URI
Gibt das Verzeichnis der WSDL-Eingabedatei mit einem URI (Universal Resource Identifier) an. Sie können auch den Pfad einer regulären Datei verwenden, wenn sich die WSDL-Datei im lokalen Dateisystem befindet.
Wichtige Argumente
- -role Java-EE-RolleGibt die Rolle für die Java-EE-Entwicklung an, die festlegt, welche Dateien generiert werden müssen. Die gültigen Argumente lauten wie folgt:
- client
Eine Kombination der Argumente develop-client und deploy-client.
- deploy-client
Generiert Bindungsdateien für die Cliententwicklung.
- deploy-server
Generiert Bindungsdateien für die Serverentwicklung.
- develop-client (Standardeinstellung)
Generiert Dateien für die Cliententwicklung.
- develop-server
Generiert Dateien für die Serverentwicklung.
- server
Eine Kombination der Argumente develop-server und deploy-server.
- client
- -container Java-EE-Container Gibt an, welcher Java-EE-Container verwendet werden soll. Die gültigen Argumente lauten wie folgt:Für Clientrollen (siehe Option "-role") ist das Standardargument none. Für Serverrollen muss als Container ejb oder web gewählt werden. Für Entwicklung und Implementierung muss dieselbe Containeroption verwendet werden.
- client
Gibt den Client-Container an.
- ejb
Gibt einen EJB-Container (Enterprise JavaBeans) an.
- none
Gibt an, dass kein Container verwendet werden soll.
- web
Gibt einen Web-Container an.
- client
- -output Verzeichnis
Legt das Stammverzeichnis für ausgegebene Dateien fest.
- -inputMappingFile Zuordnungsdatei
Gibt den Dateinamen der Zuordnungsdatei für Web Services for Java EE an.
- -introspect
Verwendet vorhandene Java-Beans mit einer neuen Web-Service-API.
In einigen Szenarien empfiehlt es sich, vorhandene Java-Klassen zu verwenden, anstatt neue Klassen zu generieren. Mit der Option -introspect wird der Befehl WSDL2Java angewiesen, beim Generieren neuer Klassen vorhandene Java-Klassen zu überprüfen. Die vorhandenen Klassen werden auf Konformität mit der JAX-RPC-Spezifikation geprüft. Beispiel:
Angenommen, Sie haben die folgende Java-Bean:
Die WSDL-Datei definiert x als xsd:dateTime. Wenn Sie die Option "-introspect" nicht angeben, generiert der Befehl WSDL2Java eine Java-Bean ähnlich der folgenden:public class Bean { public Date x; }
Der Befehl WSDL2Java verwendet die Option "-introspect", um die ursprüngliche Java-Bean zu überprüfen und um Klassen zu generieren, die mit den vorhandenen Java-Beans kompatibel sind.public class Bean { private Calendar x; public void setx(Calendar value) (x=value;) public Calendar getX() { return x;) }
- -classpath Pfade
Definiert einen alternativen Klassenpfad, in dem Java-Klassen gesucht werden.
- -noDataBinding
Hebt die Bindung zwischen XML-Typen und Java-Typen auf. Stattdessen wird jeder XML-Typ einer javax.xml.soap.SOAPElement-Schnittstelle zugeordnet, die in der Spezifikation SOAP with Attachments API for Java (SAAJ) definiert ist.
Das JAX-WS-Programmiermodell (Java API for XML Web Services) unterstützt SAAJ 1.2 und 1.3.
Das JAX-RPC-Programmiermodell unterstützt SAAJ 1.2.
Die Java-Programmiermodelle definieren Java-Zuordnungen für eine Untergruppe von XML-Typen. Verschiedene XML-Typen können Java-Beans und primitiven Typen nicht zugeordnet werden. In dieser Situation ordnet der Befehl WSDL2Java den Typ einem SAAJ SOAPElement zu. Ein SAAJ SOAPElement ist eine generische Darstellung des Elements in der Nachricht. Die Methoden SOAPElement können für die Überprüfung des Elements und der ungeordneten Elemente verwendet werden.
In einigen Szenarien empfiehlt es sich, ausschließlich die generische SOAPElement-Zuordnung zu verwenden. Wenn Sie mehr über die Verwendung von SOAPElement, erfahren möchten, lesen Sie die Informationen zur Schnittstelle "SOAP with Attachments API for Java" und zu den angepassten Daten-Bindern für JAX-RPC-Anwendungen.
Eine vollständige Liste der unterstützten Standards und Spezifikationen finden Sie in der Dokumentation zu den Web-Service-Spezifikationen und den Anwendungsprogrammierschnittstellen.
- -help
Zeigt eine Hilfenachricht an und verlässt den Vorgang.
- -helpX
Zeigt eine Hilfenachricht für erweiterte Optionen an. Mögliche Optionen:
- -verbose
Zeigt Verarbeitungsinformationen einschließlich der Namen der generierten Dateien an.
- -NStoPkg Namespace=Paket
Standardmäßig werden Paketnamen automatisch von Namespacezeichenfolgen in der WSDL-Datei abgeleitet. Wenn der Namespace beispielsweise das Format http://x.y.com or urn:x.y.com hat, ist das entsprechende Paket com.y.x.
Mit dem Argument "-NStoPkg", das Sie so oft wie nötig wiederholen können, haben Sie die Möglichkeit, eine eigene Zuordnung (für jede eindeutige Namespacezuordnung) anzugeben. Wenn die WSDL-Datei z. B. den Namespace urn:AddressFetcher2 enthält und Sie Dateien, die aus den Objekten in diesem Namespace generiert wurden, im Paket "samples.addr" ablegen möchten, geben Sie mit dem Befehl WSDL2Java den Parameter "-NStoPkg "http://urn:AddressFetcher2/"=samples.addr" an.
- -timeout Sekunden
Gibt an (in Sekunden), wie lang der Befehl WSDL2Java auf eine Antwort des WSDL-URI wartet, bevor der Vorgang abgebrochen wird. Die Standardeinstellung ist 45 Sekunden; durch den Wert -1 wird das Zeitlimit inaktiviert.
- -genResolver
Generiert eine Klasse vom Typ absolute-import resolver. Diese Klasse wird verwendet, um den Inhalt der importierten WSDL-Dateien aufzuzeichnen, die vom vom WSDL-URI verwendet werden. Die Klasse kann auch für zukünftige Ausführungen des Befehls WSDL2Java verwendet werden. Diese Flexibilität ist wünschenswert, wenn die importierten WSDL-Dateien sich auf einem fernen System befinden und der Zugriff auf die Dateien nicht möglich. Wenn ein "import resolver" verwendet wird, ist ausgeschlossen, dass eine ferne WSDL-Datei zur Laufzeit einen anderen Inhalt hat als während der Entwicklung. Die generierte Klasse erhält den Namen _AbsoluteImportResolver.java. Kompilieren und packen Sie diese Klasse zusammen mit den anderen Java-Klassen, die der Befehl WSDL2Java generiert.
- -useResolver Resolver-Klasse
Gibt eine Klasse vom Typ absolute-import resolver an, die bei der Syntaxanalyse verwendet werden soll. Diese Klasse muss während einer früheren Ausführung des Befehls WSDL2Java erstellt werden, bei der die Option "-genResolver" verwendet wird. Die Klasse muss in der Variablen CLASSPATH enthalten sein.
- -deployScope Argument Zeigt an, wie die Serverimplementierung implementiert werden soll. Die gültigen Argumente lauten wie folgt:
- Application
Verwendet eine Instanz der Implementierungsklasse für alle Anforderungen.
- Request
Erstellt für jede Anforderung eine neue Instanz der Implementierungsklasse.
- Session
Erstellt für jede Sitzung eine neue Instanz der Implementierungsklasse.
- Application
Andere Argumente
- -user ID
Der Anmeldebenutzername, der für den Zugriff auf den WSDL-URI verwendet wird.
- -password Kennwort
Das Anmeldekennwort zur Benutzer-ID, das für den Zugriff auf den WSDL-URI verwendet wird.
- -all
Generiert Java-Dateien für alle Typen, auch für die nicht referenzierten Dateien.
- -allowRelativeNamespace true oder false
Gibt an, ob die Einschränkungen für den relativen Namespace aufgehoben werden sollen. Wenn Sie -allowRelativeNamespace=true angeben, werden die Einschränkungen für den relativen Namespace aufgehoben.
Fehler vermeiden: Verwenden Sie diese Eigenschaft nur, wenn Sie eine erstellte WSDL-Datei oder ein erstelltes WSDL-Schema haben, die bzw. das sich auf einen relativen Namespace stützt, und Sie mit einer definierten Gruppe von Anbietern, die die Verwendung relativer Namespaces zulassen, interagieren möchten. gotcha
- -debug
Gibt Debug-Informationen aus.
- -genJava Argument Generiert Java-Dateien. Die gültigen Argumente lauten wie folgt:
- IfNotExists, default
- Overwrite
- No
- -javaSearch ArgumentDie Option -javaSearch wird zusammen mit der Option -genJava verwendet. Wenn -genJava IfNotExists angegeben ist, verwenden Sie die Option -javaSearch, um festzulegen, wie die Dateiexistenz ermittelt wird.
- File (Standardeinstellung): Sucht eine Datei im Ausgabeverzeichnis.
- Classpath: Sucht eine Klasse in der Variablen CLASSPATH.
- Both: Sucht eine Datei im Ausgabeverzeichnis oder eine Klasse in der Variablen CLASSPATH.
- -genXML ArgumentGeneriert die Dateien mit der Erweiterung .xml und .xmi. Die gültigen Parameter lauten wie folgt:
- IfNotExists, default
- Overwrite
- No
- -genImplSer true oder false
Gibt an, dass jede generierte Java-Bean die Schnittstelle "java.io.Serializable" implementiert. Die Standardeinstellung ist false.
- -genEquals true oder false
Gibt an, dass jede generierte Java-Bean die Methoden equals und hashCode enthält. Die Standardeinstellung ist "false".
- -noWrappedOperations
Inaktiviert die Erkennung gepackter Operationen. Es werden Java-Beans für die Anforderungs- und Antwortnachrichten generiert.
- -noWrappedArrays
Inaktiviert die Erkennung gepackter Arrays.
- -fileNStoPkg Dateiname
Gibt die Datei für die Namespace/Paket-Zuordnung an. Die Standardeinstellung ist NStoPKG.properties.
- service Name des WSDL-Service
Generiert nur Dateien für den installierten WSDL-Service.
- -testCase
Generiert die Schablone für einen JUnit-Test zum Überprüfen von Web-Services. JUnit ist ein einfaches Gerüst, mit dem reproduzierbare Tests geschrieben werden können.