Befehl Java2WSDL für JAX-RPC-Anwendungen
Das Befehlszeilentool Java2WSDL ordnet Java™-Klassen einer WSDL-Datei für JAX-RPC-Anwendungen (Java API for XML-based RPC) zu.
Das Befehlszeilentool Java2WSDL wird auf der z/OS-Plattform nicht unterstützt. Diese Funktionalität wird von den Assembliertools bereitgestellt, die mit
der z/OS-Version des Produkts geliefert werden.
Der Befehl Java2WSDL ordnet einer WSDL-Datei unter Einhaltung der Spezifikation JAX-RPC 1.1 (Java API for XML-based Remote Procedure Call) eine Java-Klasse zu.
Der Befehl Java2WSDL akzeptiert als Eingabe eine Java-Klasse und erzeugt eine WSDL-Datei, die die eingegebene Klasse repräsentiert. Falls im Ausgabeverzeichnis bereits eine Datei vorhanden ist, wird diese überschrieben. Die vom Befehl Java2WSDL generierte WSDL-Datei enthält WSDL- und XML-Schemakonstrukte, die automatisch aus der eingegebenen Klasse abgeleitet werden. Sie können diese Standardwerte durch Befehlszeilenparameter überschreiben.
Der Befehl Java2WSDL ist protokollunabhängig. Wenn Sie den Befehl Java2WSDL ausführen, können Sie Befehlszeilenoptionen angeben, die in der WSDL-Datei sowohl SOAP- als auch Nicht-SOAP-Protokollbindungen generieren. Der Befehl Java2WSDL verfügt für jede Bindung, die generiert werden kann, über einen Bindungsgenerator zum Generieren der WSDL für die betreffende Bindung.
Befehlszeilensyntax und -parameter
Java2WSDL [Argument...] Klasse
Die folgenden Befehlszeilenparameter werden unterstützt:
Erforderliche Argumente
- KlasseDer vollständig qualifizierte Name einer der folgenden Java-Klassen:
- Remote-Schnittstelle der Stateless-Session-EJB (Enterprise JavaBeans), das die Klasse javax.ejb.EJBObject erweitert
- Serviceendpunktschnittstelle, die die Klasse java.rmi.Remote erweitert
- Java-Beans
Wichtige Argumente
- -location Position
Die Veröffentlichungsposition oder der URL (Uniform Resource Locator) des Service. Wenn diese Informationen nicht angegeben werden, wird eine Warnung ausgegeben, die darauf hinweist, dass die endgültige Veröffentlichungsposition noch nicht bestimmt ist. Die Serviceposition wird in der Regel bei der Implementierung des Web-Service überschrieben.
Der Name hinter dem letzten Backslash ist der Name des Serviceports, es sei denn, der Name wird durch den Parameter -servicePortName überschrieben. Dem Attribut für die Position der Serviceportadresse wird der angegebene Wert zugeordnet. Es können mehrere Endpunktadressen angegeben werden. Die Verwendung der Option -location wird nur dann empfohlen, wenn ein einzelner Bindungstyp erforderlich ist. Werden mehrere Bindungstypen angefordert, dann werden die protokollbindungsspezifischen location-Eigenschaften mit dem Flag -x in der Befehlszeile übergeben.
Das folgende Beispiel veranschaulicht, wie Bindungen vom Typ SOAP over HTTP und SOAP over JMS (Java Message Service) erzeugt werden:
Mit der Option -location kann festgestellt werden, für welchen Port der Wert der Option -location gilt, da die Endpunkt-URLs in den bindungsspezifischen Eigenschaftswerten angegeben werden müssen.java2wsdl -bindingTypes http,jms \ -x http.location=http://Name.Ihres.Servers:9080/StockQuoteService/services/StockQuote \ -x jms.location= \ jms:/queue?destination=jms/MyQueue&connectionFactory=jms/MyCF&targetService=StockQuote
- -output WSDL-URI
Zeigt den Pfad und Dateinamen der WSDL-Ausgabedatei an. Ist dieser Parameter nicht angegeben, wird die Standarddatei class.wsdl in das aktuelle Verzeichnis geschrieben.
- -input WSDL-URI
Gibt die WSDL-Eingabedatei an, die zur Erstellung einer WSDL-Ausgabedatei verwendet wird. Für das Generieren der Ausgabe werden Informationen aus einer vorhandenen WSDL-Datei, deren Name in dieser Option angegeben wird, zusammen mit der eingegebenen Java-Klasse verwendet.
- -bindingTypes Gibt die Liste der Bindungstypen an, die in die WSDL-Ausgabedatei geschrieben werden sollen. Jeder Bindungsgenerator im Befehl Java2WSDL unterstützt bestimmte Bindungstypen. Die gültigen Werte für den Bindungstyp sind http (SOAP over HTTP), jms (SOAP over JMS) und ejb (Aufruf lokaler und ferner EJBs). Beispielsweise kann der folgende Befehl verwendet werden, um EJB-Bindungen vom Typ SOAP over HTTP für die Serviceendpunktschnittstelle my.pkg.MySEI und die Implementierungsklasse my.pkg.MyEJBClass zu generieren:
Der folgende Befehl ist ein Beispiel für die Verwendung der Option -bindingTypes zum Generieren von SOAP-over-HTTP- und SOAP-over-JMS-Bindungen:java2wsdl -bindingTypes http,ejb -implClass my.pkg.MyEJBClass my.pkg.MySEI
java2wsdl -bindingTypes http,jms -implClass my.pkg.MyEJBClass my.pkg.MySEI
- -style RPC | DOCUMENT
Dieser Parameter gibt die WSDL-Darstellung an, die in der generierten WSDL-Datei verwendet werden soll. Wenn Sie mehr erfahren möchten, lesen Sie die Informationen zur Zuordnung zwischen Java-Sprache, WSDL und XML für JAX-RPC-Anwendungen. Dieses Argument wird mit dem Argument -use verwendet.
Wenn RPC mit dem Parameter -use ENCODED angegeben wird, wird eine WSDL-Datei vom Typ style=rpc/use=encoded generiert. Wird RPC mit dem Parameter -use LITERAL angegeben, wird eine WSDL-Datei vom Typ style=rpc/use=literal generiert. Wenn DOCUMENT mit dem Parameter -use LITERAL angegeben wird, wird eine WSDL-Datei vom Typ style=document/use=literal generiert.
- -use LITERAL | ENCODED
Gibt an, welche Darstellung und Verwendungskombinationen in der WSDL-Datei bei Verwendung des Parameters -style generiert werden. Die Kombinationen sind rpc und encoded, rpc und literal und doc und literal. Diese Einstellung gilt für alle SOAP-Bindungen. Wenn Sie mehr erfahren möchten, lesen Sie die Informationen zur Zuordnung zwischen Java-Sprache, WSDL und XML für JAX-RPC-Anwendungen.
- -transport http | jms
Generiert SOAP-Bindungen für HTTP (Standardeinstellung) oder JMS. Bei Angabe von JMS wird die Zeichenfolge jms an den Namen der WSDL-Datei angehängt, um zu verhindern, dass der Name einer vorhandenen WSDL-Datei für einen anderen Transport überschrieben wird. Die Transportoption können nur einmal angegeben werden.
Diese Option ist veraltet. Die Option -bindingTypes ersetzt die Option -transport und erlaubt das Generieren von Bindungen, die nicht SOAP-spezifisch sind.
- -portTypeName Name
Gibt den Namen an, der für das portType-Element verwendet werden soll. Falls der Name nicht angegeben ist, wird der Name des Porttyps als Bindungsname verwendet.
- -bindingName Name
Zeigt den Namen an, der für das Bindungselement verwendet werden soll. Falls der Name nicht angegeben ist, wird der Name des Porttyps als Bindungsname verwendet.
- -serviceElementName Name
Gibt den Namen des Serviceelements an.
- -servicePortName Name
Gibt den Namen des Service an. Falls dieser Parameter nicht angegeben ist, wird der Servicename vom Parameter -location abgeleitet.
- -namespace Ziel-Namespace
Zeigt den Ziel-Namespace für die zu generierende WSDL-Datei an. Wenn Sie mehr über den Algorithmus erfahren möchten, der zum Abrufen des Standard-Namespace verwendet wird, lesen Sie die Informationen zur Zuordnung zwischen Java-Sprache, WSDL und XML für JAX-RPC-Anwendungen.
- -PkgtoNS Paket-Namespace
Gibt die Zuordnung eines Java-Pakets zu einem Namespace an. Wenn ein Paket keinen Namespace hat, generiert der Befehl Java2WSDL einen Namespace-Namen. Dieser Parameter kann wiederholt angegeben werden, um Zuordnung für mehrere Pakete anzugeben.
- -extraClasses Klassen
Gibt andere Klassen an, die in der WSDL-Datei dargestellt werden müssen.
- -implClass Implementierungsklasse
Der Befehl Java2WSDL verwendet Methodenparameternamen, um die Namen der Nachrichtenabschnitte der WSDL-Datei zu erstellen. Der Befehl ruft die Nachrichtennamen automatisch aus den Debug-Informationen in der Klasse ab. Wenn die Klasse ohne Debug-Informationen kompiliert wird oder wenn die Klasse eine Schnittstelle ist, sind die Methodenparameternamen nicht verfügbar. in diesem Fall können Sie den Parameter -implClass verwenden, um eine alternative Klasse für das Abrufen von Methodenparameternamen bereitzustellen. Die impl-class muss die Klasse nicht implementieren, wenn die Klasse eine Schnittstelle ist, aber sie muss dieselben Methoden implementieren wie die Klasse.
- -verbose
Zeigt ausführliche Nachrichten an.
- -help
Zeigt die Hilfenachricht an.
- -helpX
Zeigt eine Hilfenachricht für erweiterte Optionen und verschiedene Optionen an, die von den Bindungsgeneratoren unterstützt werden.
Andere Argumente
- -wrapped Boolean
Gibt an, ob die WSDL-Datei gemäß den Wrapper-Regeln generiert werden sollen. Diese Option ist nur bei Angabe von -use LITERAL gültig. Der Standardwert ist true.
- -stopClasses parent [, parent]
Bei Angabe des Parameters -all sucht Java2WSDL vererbte Klassen und Schnittstellen, um die Methodenliste für WSDL-Dateioperationen zu erstellen.
Der Befehl Java2WSDL sucht, wenn er erweiterte complexTypes generiert, nach vererbten Klassen und Schnittstellen. Der Suchvorgang wird gestoppt, wenn eine Klasse oder eine Schnittstelle in einem Paket, dessen Name mit java oder javax beginnt, ermittelt wird. Der Parameter -stopClasses kann verwendet werden, um zusätzliche Klassen zum Stoppen des Suchvorgangs zu definieren.
- -methods Argument
Gibt eine Liste mit Methodennamen aus den Serviceendpunktschnittstellen an, die in der WSDL-Ausgabedatei enthalten sein müssen. In der Liste werden Leerzeichen oder Kommata als Trennzeichen verwendet.
- -soapAction Die gültigen Parameter lauten wie folgt:
- DEFAULT
Setzt das Feld "soapAction" gemäß den Implementierungsinformationen.
- NONE
Setzt das Feld "soapAction" auf doppelte Anführungszeichen ("").
- OPERATION
Setzt das Feld soapAction auf den Operationsnamen.
- DEFAULT
- -outputImpl Implementierungs-WSDL
Gibt an, ob eine Schnittstellen- und Implementierungs-WSDL-Datei generiert werden soll.
- -locationImport Positions-URI
Gibt die Position der WSDL-Datei der Schnittstelle an, wenn Sie den Parameter -outputImpl verwenden.
- -namespaceImpl Namespace
Der Ziel-Namespace für die Implementierungs-WSDL, wenn -outputImpl angegeben ist.
- -MIMEStyle <Darstellung>
Gibt den MIME-Typ ( Multipurpose Internet Mail Extensions) an, der für die Zuordnung des Elements binding zum Element wsi:swaRef (Referenz auf Web Services-Interoperability (WS-I) SOAP with attachments) verwendet wird.
<Darstellung> kann für Folgendes stehen:- WSDL11 (Standardwert): MIME-Typen ausschließlich gemäß den WSDL-1.1-Standards zuordnen. Falls der MIME-Typ keinem der Standardtypen in WSDL 1.1 zugeordnet werden kann, schlägt der Befehl fehl.
- AXIS: MIME-Typen gemäß AXIS-Standards zuordnen. image wird beispielsweise axis:image zugeordnet.
- swaRef: MIME-Typen mit zwei Ausnahmen gemäß den WSDL-1.1-Standards zuordnen:
- DataHandler wird dem Element wsi:swaRef und nicht dem octet-stream der Anwendung zugeordnet.
- Sollte die Zuordnung von WSDL 1.1 nicht unterstützt werden, verwenden Sie für die Zuordnung das Element wsi:swaRef.
- -propertiesFile ArgumentLegt vorhandene Optionen, wie z. B. -extraClasses, mit einer Eigenschaftendatei und nicht mit der Befehlszeile fest. Das folgende Beispiel veranschaulicht die Verwendung dieses Arguments:
extraClasses=com.ibm.Class1, com.sun.Class2,org.apache.Class3
- -voidReturnDie gültigen Parameter lauten wie folgt:
- ONEWAY
Methoden mit dem Rückgabewert void sind unidirektional. Dies ist die Standardeinstellung für JMS-Transport.
- TWOWAY
Methoden mit dem Rückgabewert void sind unidirektional. Dies ist die Standardeinstellung für HTTP-Transport.
- ONEWAY
- -debug
Zeigt Debug-Nachrichten an.
- -property oder -xMit der Option -x können Sie Befehlszeilenoptionen an verschiedene Bindungsgeneratoren übergeben. Geben Sie die Option -x mehrere Male in der Befehlszeile an, wenn eine Gruppe von Eigenschaftswerten festgelegt werden soll, die an jede mit dem Befehl Java2WSDL aufgerufene Bindungsgeneratormethode übergeben werden soll. Es ist auch möglich, mit einer einzelnen Option -x mehrere Eigenschaften festzulegen, indem Sie diese wie im folgenden Beispiel durch Kommas trennen:
ist gleichbedeutend mitjava2wsdl -x Eigenschaft1=Wert1 -x Eigenschaft2=Wert2
Mit der Option -x können Sie, falls erforderlich, jede Befehlszeilenoption für jeden Bindungsgenerator einzeln festlegen. Der in der Option -x angegebene Wert setzt den Wert außer Kraft, der in der entsprechenden Befehlszeilenoption angegeben ist, falls beide Optionen festgelegt wurden.java2wsdl -x Eigenschaft1=Wert1,Eigenschaft2=Wert2