Diese Regel erkennt das Vorhandensein von JAX-RPC-Web-Services anhand der folgenden Kriterien:
- Vorhandensein der Datei web-services.xml
- Vorhandensein der Datei weblogic-webservices.xml und der Datei
webservices.xml in demselben Ordner
Schnellkorrektur
Diese Regel im Quellenscanner erzeugt ein Ant-Script mit bestimmten IBM(R) Ant-Tasks. Diese Tasks generieren JAX-RPC-Web-Services, die
auf WebLogic-Implementierungsdeskriptoren für J2EE-Web-Services basieren. Die Schnellkorrektur scannt die
Web-Service-Implementierungsdeskriptoren und erzeugt ein Ant-Script, wenn keine von IBM Ant generierte Datei im Stammordner des Projekts vorhanden ist.
Das Script enthält IBM Ant-Tasks für die Generierung der JAX-RPC-Web-Services.
Regeleigenschaften
Sie müssen korrekte Werte für die Regeleigenschaften angeben. Wenn Sie die Werte der Eigenschaften für diese Regel
ändern möchten, wählen Sie die Regel im Fenster Software Analyzer-Konfigurationen aus. Verwenden Sie anschließend die Felder auf der Registerkarte mit den Eigenschaften. Die Eigenschaften für diese Regel sind im Folgenden erläutert:
- name des generierten Ant-Scripts
:
Gibt den Namen des zu generierenden neuen Ant-Scripts an.Der Scriptname muss ein gültiger Dateiname sein.Der Wert darf keine Schrägstriche und keine umgekehrten Schrägstriche enthalten. Das generierte Script wird im Stammordner des Projekts gespeichert.
Standardwert: build-ibm-ws.xml
- Name des Generierungsordners:
Gibt den Namen des Ordners an, in dem die Generierungsartefakte gespeichert werden.Der Wert darf keine Schrägstriche und keine umgekehrten Schrägstriche enthalten. Der Generierungsordner wird im Stammordner des Projekts erstellt.
Standardwert: ibm-ws-gen.xml
Ant-Klassenpfad
Der Ant-Klassenpfad wird über das Eclipse-Projekt ermittelt.
Es muss unbedingt sichergestellt werden,
dass alle für die Kompilierung erforderlichen Elemente im Eclipse-Klassenpfad enthalten sind.
In der Datei web-services.xml definierte JAX-RPC-Services
Basierend auf den Informationen und dem Typ der definierten Services in der Datei
web-services.xml werden ein Ant-Script und möglicherweise zusätzlicher
Java-Code, der die Web-Service-Endpunktschnittstelle darstellt, für die Reproduktion des JAX-RPC-Service generiert.
- Unterstützte Komponenten
Es können nur Komponenten von Stateless-Session-Enterprise-Beans (<stateless-ejb>) und Java(R)-Komponenten (<java-class>)
erkannt und konvertiert werden.
- Stateless-EJB-Komponenten:
Die EJB-JAR-Datei, die im Pfadattribut des Elements
<ejb-link> definiert ist, muss im Projekt vorhanden sein. Die Schnellkorrektur
überprüft die EJB-JAR-Datei und generiert eine neue Serviceendpunktschnittstellenklasse auf der Basis der EJB-Remote-Klasse.
Serviceendpunktschnittstellenklassen unterscheiden sich insofern von EJB-Remote-Schnittstellen, dass
die Klassen java.rmi.Remote erweitern und alle Methoden die Ausnahme java.rmi.RemoteException auslösen müssen.
Die Schnellkorrektur verwendet Java-Reflexion in der EJB-Remote-Schnittstelle, um die neue Serviceendpunktschnittstelle zu generieren.
Deshalb muss der Eclipse-Projektklassenpfad mit allen erforderlichen Klassen, JAR-Dateien, Ordnern usw. konfiguriert werden, damit die
Schnellkorrektur die EJB-Remote-Klasse ordnungsgemäß laden kann.
Die Serviceendpunktschnittstelle wird im Ordner "sei" innerhalb des Generierungsordners, den der Benutzer in den Regeleigenschaften
angibt, generiert.Das Serviceendpunktschnittstellenpaket entspricht dem EJB-Remote-Schnittstellenpaket, und der
Name der Serviceendpunktschnittstelle entspricht dem Namen der EJB-Remote-Schnittstelle mit dem Zusatz
SEI.Außerdem wird der Ordner der neuen Serviceendpunktschnittstelle dem Projektklassenpfad hinzugefügt.
- Java-Klassenkomponenten:
Ähnlich wie bei den EJB-Komponenten generiert die Schnellkorrektur eine Serviceendpunktschnittstelle aus der Java-Klasse, die im Attribut
<class-name> definiert ist.
- Generierte Ant-Ziele:
Das generierte Ant-Script enthält Ziele, um die WSDL-Datei und den
JAX-RPC-Service basierend auf der neuen Serviceendpunktschnittstelle zu generieren, die während der Schnellkorrektur
erstellt wurde.
Das WSDL-Generierungsziel hat den Namen "genWSDL_ssss", wobei ssss für den Namen des JAX-RPC-Service steht, der im Attributfeld
name des Elements <web-service> angegeben wurde.
Die Servicegenerierungsziele haben den Namen "genService_pppp", wobei pppp für den Namen der Komponente aus dem Attribut
name des Elements <stateless-ejb> bzw. <java-class> steht.
Die Schnellkorrektur verwendet die in anderen Elementen wie
<handlers-chain>, <types>, <operations>, <security> usw. nicht.
In der Datei webservices.xml definierte JAX-RPC-Services
Basierend auf den Informationen und dem Typ der definierten Services in der Datei
webservices.xml wird ein Ant-Script für die Reproduktion des JAX-RPC-Service generiert.
- Generierte Ant-Ziele:
Das generierte Ant-Script enthält Ziele, um die WSDL-Datei und den
JAX-RPC-Service zu generieren.
Das WSDL-Generierungsziel wird nur generiert, wenn die Schnellkorrektur die
WSDL-Datei, die im Element <wsdl-file> definiert ist, nicht findet.
Das erstellte WSDL-Generierungsziel hat den Namen
"genWSDL_ssss", wobei ssss für den Namen des im Element
<webservice-description-name> definierten Service steht.
Die Servicegenerierungsziele haben den Namen "genService_pppp", wobei pppp für den Namen des im Element
<port-component-name> definierten Ports steht.
Ant-Tasks von IBM WebSphere Application Server
WebSphere(R) Application Server enthält Ant-Tasks wie java2wsdl
und wsdl2java für die Generierung der für JAX-RPC-Services erforderlichen Artefakte. Das generierte Ant-Script verwendet diese Tasks, um den Service zu erstellen.
Weitere Informationen zu diesen Tasks finden Sie im
WebSphere Application Server-Dokumentation.
Ant-Script ausführen
Nachdem die Schnellkorrektur das Ant-Script erzeugt hat, können Sie das Script anzeigen und bei Bedarf
weitere Anpassungen hinzufügen.
Informationen zu zusätzlichen Anpassungen für die IBM Ant-Tasks finden Sie in der Dokumentation zu Application Server.
Sie müssen das Script mit den Ant-Tools ausführen, die
im Lieferumfang von WebSphere Application Server enthalten sind. Das Script
IBM Ant kann wie folgt ausgeführt werden:
- mit WAS_HOME\bin\ws_ant.bat auf Windows(R)-Betriebssystemen
- mit WAS_HOME\bin\ws_ant.sh auf UNIX(R)-Betriebssystemen
Beispiel: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
Wenn Ant-Ziele ausgeführt werden, befinden sich die erzeugten Artefakte im Generierungsordner.Sie können den generierten Code und die Implementierungsdeskriptoren überprüfen und diese Artefakte anschließend
den zugehörigen Modulen hinzufügen.