Diese Regel markiert die Verwendung JAX-RPC-spezifischer Pakete und Konfigurationsdateien. Außerdem markiert diese Regel die Verwendung des
Tags jaxrpc-mapping-file in XML-Zuordnungsdateien. In der folgenden Tabelle sind die Java-Pakete, Konfigurationsdateien
und XML-Zuordnungsdateien aufgelistet, die von dieser Regel betroffen sind:
Pakete |
Konfigurationsdateien |
XML-Zuordnungsdateien |
|---|---|---|
|
|
|
Diese Anwendung wurde nicht für die Verwendung mit JAX-RPC-Konvertierungstoolvalidiert. Verwenden Sie den neuesten Binärscanner oder Transformation Advisor-Datenkollektor, um die Vorabvalidierungsanalyse des JAX-RPC-Konvertierungstools abzurufen.
Java API for XML-based RPC (JAX-RPC) wird in Liberty und Liberty Core nicht unterstützt. Diese Technologie wurde in WebSphere Application Server Traditional Version 9.0 als veraltet markiert und kann in einer der künftigen Versionen entfernt werden. Wenn Ihre Anwendung JAX-RPC verwendet, ist der bevorzugte Migrationspfad JAX-WS, aber im Folgenden sind verschiedene Alternativen beschrieben:
In der folgenden Tabelle werden die vier Optionen im Hinblick auf Faktoren verglichen, die sich auf Ihr Projekt auswirken können.
Projektfaktoren |
Option 1JAX-RPC-Web-Services mit dem JAX-RPC-Konvertierungstool zu JAX-WS-Web-Services migrieren |
Option 2JAX-RPC-Web-Services manuell zu JAX-WS-Web-Services migrieren |
Option 3JAX-RPC-Engine von Apache Axis 1 in Liberty verwenden |
Option 4WebSphere Application Server Traditional mit der zugehörigen nativen JAX-RPC-Engine verwenden. |
|---|---|---|---|---|
|
Unterstützte Lösung |
Ja JAX-WS wird als konfigurierbares Feature in allen Liberty-Editionen mit Ausnahme von Liberty Core unterstützt. Laden Sie WebSphere Liberty JAX-RPC-Konvertierungstool für Maven und Gradle herunter. |
Ja JAX-WS wird als konfigurierbares Feature in allen Liberty-Editionen mit Ausnahme von Liberty Core unterstützt. |
Nein Axis 1 wird nicht unterstützt. |
Ja JAX-RPC wird in WebSphere Application Server Traditional unterstützt. |
|
Strategische Lösung |
Ja JAX-WS ist von strategischer Bedeutung für alle Liberty-Editionen mit Ausnahme von Liberty Core. |
Ja JAX-WS ist von strategischer Bedeutung für alle Liberty-Editionen mit Ausnahme von Liberty Core. |
Nein Axis 1 ist nicht mehr in Entwicklung. |
Nein JAX-RPC wurde in WebSphere Application Server Traditional Version 9.0 als veraltet markiert und kann in einer der künftigen Versionen entfernt werden. |
|
Implementierungskomplexität |
Niedrig Wenn die Anwendung die Anforderungen für das JAX-RPC-Konvertierungstool erfüllt, können die JAX-RPC-Services durch das Tool in JAX-WS-Web-Services konvertiert werden. |
Hoch Diese Option kann komplex sein, wenn sehr viele JAX-RPC-Clients und -Web-Services beteiligt sind. Wenn Sie das JAX-RPC-Konvertierungstool nicht verwenden, um JAX-RPC-Services zu JAX-WS zu portieren, sind viele Änderungen an der Codebasis erforderlich. |
Niedrig Wenn die Anwendung bereits Axis 1 verwendet, ist diese Option nicht komplex. Andernfalls hat diese Option eine mittlere Komplexität. |
Mittel Bei der Migration von JAX-RPC-Web-Services auf eine andere Engine bleibt der größte Teil der Codebasis erhalten. |
|
Erweiterte Funktionen |
Ja JAX-WS stellt viele erweiterte Features bereit, z. B. Annotationen, JAXB-Bindung und SOAP 1.2. |
Ja JAX-WS stellt viele erweiterte Features bereit, z. B. Annotationen, JAXB-Bindung und SOAP 1.2. |
Nein In JAX-RPC fehlen viele der erweiterten Features, die von JAX-WS bereitgestellt werden. |
Nein In JAX-RPC fehlen viele der erweiterten Features, die von JAX-WS bereitgestellt werden. |
|
Spezifikationskonformität |
Ja |
Ja |
Ja JAX-RPC ist zwar noch Teil der Java-EE-Spezifikation, gilt ab Java EE 6 jedoch als veraltet. |
Ja JAX-RPC ist zwar noch Teil der Java-EE-Spezifikation, gilt ab Java EE 6 jedoch als veraltet. |
|
Empfehlung |
Verwenden Sie diese Option, wenn die Anwendung die Anforderungen des JAX-RPC-Konvertierungstools erfüllt. |
Verwenden Sie diese Option, wenn Sie über einige JAX-RPC-Web-Services verfügen und die Anwendung die Anforderungen des JAX-RPC-Konvertierungstools nicht erfüllt. |
Verwenden Sie diese Option, wenn Ihre JAX-RPC-Web-Services bereits in Axis 1 ausgeführt werden. |
Verwenden Sie diese Option, wenn Ihre JAX-RPC-Web-Services bereits in WebSphere Application Server Traditional ausgeführt werden oder wenn Sie viele JAX-RPC-Web-Services haben, die noch nicht in Axis 1 ausgeführt werden. |
Laden Sie das JAX-RPC-Konvertierungstool von WebSphere Liberty JAX-RPC-Konvertierungstool für Maven und Gradle herunter.
Informationen zur Migration von Anwendungen von JAX-RPC auf JAX-WS mit dem JAX-RPC-Konvertierungstool finden Sie unter JAX-RPC-Anwendungen mit Maven auf Liberty migrieren oder JAX-RPC-Anwendungen mit Gradle auf Liberty migrieren in der Onlinedokumentation.
Informationen zur Migration von Anwendungen von JAX-RPC auf JAX-WS finden Sie in der Onlinedokumentation unter Migrationsszenarios für Web-Services: JAX-RPC auf JAX-WS und JAXB.
Weitere Informationen zu den Unterschieden zwischen JAX-RPC und JAX-WS finden Sie unter Implementierungsmodell für JAX-WS-Anwendungen.
Wenn Sie Axis 1 bereits verwenden und in Liberty verwenden möchten, müssen Sie die Axis 1-Bibliotheken in den Liberty-Klassenpfad einschließen.
Wenn Sie ein integriertes JAX-RPC verwenden, können Sie Ihre Web-Services für die Verwendung von Axis 1 konvertieren. Im folgenden Verfahren wird beschrieben, wie ein Web-Service von Red Hat JBoss zu Axis 1 migriert wird.
java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t -s -o <Output directory> <WSDL file>
Weitere Informationen zu diesem Befehl finden Sie in WSDL2Java Referenz auf der Apache-Website.
Weitere Informationen zu WSDD-Konfigurationselementen finden Sie unter Implementierungsreferenz (WSDD) auf der Apache-Website.
Die folgende Methode enthält beispielsweise eine JNDI-Suche:
Die Suche muss ersetzt werden:
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {Wenn Sie die JAX-RPC-Engine von WebSphere Application Server verwenden möchten, müssen Sie WebSphere Application Server Traditional verwenden. JAX-RPC wird von Liberty nicht unterstützt. Wenn Sie Liberty verwenden möchten, müssen Sie eine der anderen Optionen auswählen.
Wenn JAX-RPC-Konfigurationsdateien gefunden werden, aber die JAX-RPC-Java-API in dieser Anwendung nicht verwendet wird, können die Konfigurationsdateien aus einer vorherigen Verwendung der JAX-RPC-Technologie stammen, die nicht mehr erforderlich ist. Die nicht verwendete Konfiguration kann entfernt werden.