Sie können eine WSDL-Datei (Web Services Description Language) entwickeln, um die Eigenschaften
Ihrer JAX-RPC-Web-Service-Anwendung (Java™ API for XML-based RPC) zu beschreiben, z. B., wo sich der Service befindet und wie der Service
im XML-Format aufgerufen wird.
Vorbereitende Schritte
Entwickeln Sie je nach Entwicklungspfad eine Serviceendpunktschnittstelle aus
einer JavaBeans-Implementierung oder aus einer Enterprise-Bean-Implementierung.
Informationen zu diesem Vorgang
Sie benötigen eine WSDL-Datei, um Web-Services verwenden zu können. Sie
können eine eigene WSDL-Datei entwickeln oder eine WSDL-Datei eines Web-Service-Providers
verwenden, die Sie per E-Mail, Download oder URL erhalten. In dieser Dokumentation wird davon ausgegangen,
dass Sie eine eigene Datei erstellen.
Entwickeln Sie eine WSDL-Datei mit den
folgenden aufgelisteten Aktionen:
Vorgehensweise
Führen Sie den Befehl "Start Qshell" (STRQSH)
aus, um die Qshell zu starten.
Aktualisieren Sie die Umgebungsvariable CLASSPATH, um das
Verzeichnis der Klasse der Serviceendpunktschnittstelle und anderer referenzierter Klassen
aufzunehmen. Beispiel: export -s CLASSPATH=/myapp/myclass.class:/myapp/myjar.jar
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Konfigurieren Sie in Ihrer Variable CLASSPATH die Serviceendpunktschnittstellenklasse und die referenzierten Klassen. - Setzen Sie auf Windows-Systemen CLASSPATH="%CLASSPATH%;<Liste
Ihrer Anwendungs-JAR-Dateien und -Klassen>".
- Exportieren Sie auf UNIX- und Linux-Systemen
CLASSPATH="$CLASSPATH:<Liste Ihrer Anwendungs-JAR-Dateien und -Klasen>".
- Führen Sie den Befehl Java2WSDL Serviceendpunktschnittstelle aus. Es wird eine WSDL-Datei mit dem Namen Serviceendpunktschnittstelle.wsdl erstellt.
Unterstützte Konfigurationen: Das Befehlszeilentool
Java2WSDL
wird auf der Plattform z/OS nicht unterstützt. Diese Funktionalität wird von den Assembliertools bereitgestellt, die mit
der z/OS-Version des Produkts geliefert werden. Weitere Informationen zu diesem Tool
finden Sie in der Beschreibung des Befehlszeilentools Java2WSDL
für JAX-RPC-Anwendungen (Java API for XML-based Remote Procedure Call).
sptcfg
- Verschieben Sie die WSDL-Datei in das Unterverzeichnis META-INF/wsdl,
wenn Sie Enterprise-JavaBeans verwenden.
- Verschieben Sie die WSDL-Datei in das Unterverzeichnis WEB-INF/wsdl,
wenn Sie JavaBeans verwenden.
- Editieren Sie die generierte WSDL-Datei und untersuchen Sie die Abschnittnamen. Die WSDL-Abschnitte haben Namen wie arg_0_0.
Ändern Sie die WSDL-Datei so, dass sie die tatsächlichen Namen
Java-Parameter verwendet.
- (Optional) Generieren Sie mit dem Befehlstool Java2WSDL die korrekten Abschnittsnamen für die
WSDL-Datei. Mit dem Befehlstool Java2WSDL können Sie die korrekten Abschnittsnamen automatisch generieren und setzen.
Dazu müssen Sie zusätzliche Informationen für das Befehlstool Java2WSDL in Form
einer Java-Implementierungsklasse bereitstellen, die dieselben Methoden wie die Serviceendpunktschnittstelle implementiert und mit aktivierten Debug-Informationen kompiliert wird. Parameternamen werden in der Datei .class mit den Debug-Informationen
gespeichert. Falls Ihre Implementierungsklasse mit aktiviertem Debug kompiliert wurde,
können Sie mit dem Befehl Java2WSDL -implClass Serviceenpunktschnittstellenimplementierung Serviceendpunktschnittstelle eine
WSDL-Datei mit den richtigen Komponentennamen generieren.
Ergebnisse
Eine WSDL-Datei, die die von der Serviceendpunktschnittstelle beschriebenen Web-Services definiert.
Beispiel
Dieses Beispiel verwendet den JAR-Dateinamen AddressBook.jar, der
eine Klasse mit der Klassendatei AddressBook.class enthält.
Sie müssen die Datei AddressBook.jar zum
CLASSPATH hinzufügen, um die WSDL-Datei zu erstellen. Die JAR-Datei enthält eine
EJB-Implementierungsklasse, bei deren Kompilierung die Debug-Informationen aktiviert
waren. Führen Sie den Befehl Java2WSDL -implClass addr.AddressBookBean
addr.AddressBook aus, um die WSDL-Datei AddressBook.wsdl zu erstellen.
Nächste Schritte
Entwickeln Sie je nach Entwicklungspfad Web-Service-Implementierungsdeskriptorschablonen für
JavaBeans oder für eine Enterprise-Bean-Implementierung.