La convalida dallo strumento di conversione JAX-RPC ha stabilito che nessun servizio Web JAX-RPC in questa scansione è un buon candidato per la
conversione binaria a JAX-WS tramite lo strumento di conversione JAX-RPC.
Questa regola contrassegna l'utilizzo di qualsiasi package specifico e file di configurazione JAX-RPC. Inoltre, questa regola contrassegnerà qualsiasi utilizzo della tag jaxrpc-mapping-file nei file di associazione XML. La seguente tabella elenca i pacchetti Java, i file di configurazione e i file di associazione XML influenzati da questa regola:
Pacchetti |
File di configurazione |
File di associazione XML |
|---|---|---|
|
|
|
JAX-RPC (Java API for XML-based RPC) non è supportata in Liberty o Liberty Core. La tecnologia è obsoleta in WebSphere Application Server tradizionale V9.0 e potrebbe essere rimossa in una successiva versione. Il percorso di migrazione strategica consiste nell'utilizzare JAX-WS. L'impegno relativo cambierà in base al percorso di migrazione prescelto:
La seguente tabella confronta le quattro opzioni in base ai fattori che potrebbero avere effetti sul progetto.
Fattori del progetto |
Opzione 1Migrare i servizi web JAX-RPC ai servizi web JAX-WS utilizzando lo strumento di conversione JAX-RPC |
Opzione 2Migrare i servizi web JAX-RPC ai servizi web JAX-WS manualmente |
Opzione 3Utilizzo del motore Apache Axis 1 JAX-RPC motore su Liberty |
Opzione 4Utilizzo di WebSphere Application Server tradizionale con il motore JAX-RPC nativo |
|---|---|---|---|---|
|
Soluzione supportata |
Sì JAX-WS è supportato come funzione configurabile su tutte le edizioni Liberty tranne Liberty Core. Scaricare lo strumento di conversione JAX-RPC di WebSphere Liberty per Maven e Gradle. |
Sì JAX-WS è supportato come funzione configurabile su tutte le edizioni Liberty tranne Liberty Core. |
No Axis 1 non è supportato. |
Sì JAX-RPC è supportato su WebSphere Application Server tradizionale. |
|
Soluzione strategica |
Sì JAX-WS è strategico per tutte le edizioni Liberty tranne Liberty Core. |
Sì JAX-WS è strategico per tutte le edizioni Liberty tranne Liberty Core. |
No Axis 1 non è più distribuito. |
No JAX-RPC è obsoleta in WebSphere Application Server tradizionale e potrebbe essere rimossa in una successiva versione. |
|
Livello di complessità dell'implementazione |
Basso L'applicazione è stata convalidata per l'utilizzo con lo strumento di conversione JAX-RPC. I servizi JAX-RPC possono essere convertiti in servizi Web JAX-WS dallo strumento. |
Alto Questa opzione può rivelarsi complessa per molti client JAX-RPC e servizi web. Senza utilizzare lo strumento di conversione JAX-RPC per trasferire i servizi JAX-RPC in JAX-WS, è necessario apportare molte modifiche al codice di base. |
Basso Se l'applicazione utilizza già Axis 1, questa opzione non è complessa. Altrimenti è da considerare di media complessità. |
Medio La migrazione dei servizi Web JAX-RPC ad un motore diverso conserva la maggior parte del codice di base. |
|
Funzioni avanzate |
Sì JAX-WS fornisce diverse funzioni avanzate quali le annotazioni, il bind JAXB e SOAP 1.2. |
Sì JAX-WS fornisce diverse funzioni avanzate quali le annotazioni, il bind JAXB e SOAP 1.2. |
No JAX-RPC non ha molte delle funzioni avanzate presenti in JAX-WS. |
No JAX-RPC non ha molte delle funzioni avanzate presenti in JAX-WS. |
|
Conformità delle specifiche |
Sì |
Sì |
Sì Sebbene JAX-RPC sia ancora parte della specifica Java EE, viene considerata obsoleta a partire da Java EE 6. |
Sì Sebbene JAX-RPC sia ancora parte della specifica Java EE, viene considerata obsoleta a partire da Java EE 6. |
|
Suggerimento |
Utilizzare questa opzione se l'applicazione soddisfa i requisiti dello strumento di conversione JAX-RPC. |
Utilizzare questa opzione se si dispone di pochi servizi web JAX-RPC e l'applicazione non soddisfa i requisiti dello strumento di conversione JAX-RPC. |
Utilizzare questa opzione se i servizi web JAX-RPC vengono già eseguiti su Axis 1. |
Utilizzare questa opzione se i servizi web JAX-RPC sono già in esecuzione su WebSphere Application Server tradizionale o se vi sono molti servizi web JAX-RPC che non sono in esecuzione su Axis 1. |
Scaricare lo strumento di conversione JAX-RPC dallo strumento di conversione JAX-RPC di WebSphere Liberty per Maven e Gradle.
Per informazioni sulla migrazione delle applicazioni da JAX-RPC a JAX-WS utilizzando lo strumento di conversione, consultare Migrazione delle applicazioni JAX-RPC in Liberty utilizzando Maven o Migrazione delle applicazioni JAX-RPC in Liberty utilizzando Gradle nella documentazione online.
Per informazioni sulla migrazione delle applicazioni da JAX-RPC a JAX-WS, consultare Scenari di migrazione dei servizi Web: da JAX-RPC a JAX-WS e JAXB nella documentazione online.
Per ulteriori informazioni sulle differenze tra JAX-RPC e JAX-WS, consultare Modello di distribuzione delle applicazioni JAX-WS.
Se si utilizza già Axis 1, per utilizzarlo su Liberty è necessario includere le librerie Axis 1 nel classpath di Liberty.
Se si utilizza un JAX-RPC incorporato, è possibile convertire i servizi web per utilizzare Axis 1. La seguente procedura descrive come migrare un servizio web da Red Hat JBoss a Axis 1.
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>
Per ulteriori informazioni su questo comando, consultare Riferimento a WSDL2Java sul sito web Apache.
Per ulteriori informazioni sugli elementi di configurazione WSDD, consultare Riferimento di distribuzione (WSDD) sul sito web Apache.
Ad esempio, il seguente metodo ha una ricerca JNDI:
La ricerca deve essere sostituita:
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {Se si desidera utilizzare il motore JAX-RPC di WebSphere Application Server, occorre utilizzare WebSphere Application Server tradizionale. Liberty non supporta JAX-RPC. Se si desidera utilizzare Liberty, è necessario scegliere una delle altre opzioni.
Se vengono rilevati file di configurazione JAX-RPC, ma allo stesso tempo non viene rilevato alcun utilizzo dell'API Java JAX-RPC all'interno di questa applicazione, i file di configurazione potrebbero provenire da un precedente utilizzo della tecnologia JAX-RPC che non è più necessaria. La configurazione inutilizzata può essere rimossa.