JAX-RPC (Java API for XML-based RPC)

Această regulă semnalează utilizarea oricăror pachete şi fişiere de configuraţie specifice JAX-RPC. De asemenea, această regulă va semnala orice utilizare a tagului jaxrpc-mapping-file în fişierele de mapare XML. Următorul tabel listează pachetele Java, fişierele de configuraţie şi fişierele de mapare XML afectate de această regulă:

Pachete

Fişiere de configuraţie

Fişiere de mapare XML

  • javax.xml.rpc
  • javax.xml.rpc.encoding
  • javax.xml.rpc.handler
  • javax.xml.rpc.handler.soap
  • javax.xml.rpc.holders
  • javax.xml.rpc.server
  • javax.xml.rpc.soap
  • ibm-webservices-ext.xmi
  • ibm-webservices-bnd.xmi
  • ibm-webservicesclient-ext.xmi
  • ibm-webservicesclient-bnd.xmi
  • ws-security.xml
  • webservices.xml
  • web.xml
  • ejb-jar.xml
  • ibm-webservicesclient-bnd.xmi
  • application.xml

Această aplicație nu a fost validată pentru utilizarea cu unealta de conversie JAX-RPC. Utilizați cel mai recent scaner de binare sau colectorul de date Transformation Advisor pentru a obține analiza de pre-validare a uneltei de conversie JAX-RPC.

JAX-RPC (Java API for XML-based RPC) nu este suportat pe Liberty sau Liberty Core. Tehnologia este perimată în WebSphere Application Server traditional V9.0 și ar putea fi înlăturată într-o versiune ulterioară. Dacă aplicaţia dumneavoastră utilizează JAX-RPC, calea de migrare preferată este de a folosi JAX-WS, dar aici sunt alternative:

Următorul tabel compară cele patru opțiuni în funcție de factorii care ar putea afecta proiectul dumneavoastră.

Factorii proiectului

Opţiunea 1

Migrarea serviciilor web JAX-RPC către serviciile web JAX-WS utilizând unealta JAX-RPC Conversion

Opţiunea 2

Migrarea manuală a serviciilor web JAX-RPC la serviciile web JAX-WS

Opţiunea 3

Utilizaţi motorul Apache Axis 1 JAX-RPC pe Liberty

Opțiunea 4

Utilizarea WebSphere Application Server tradiţional cu motorul său nativ JAX-RPC

Soluţie suportată

Da

JAX-WS este suportat ca o caracteristică configurabilă pe toate edițiile Liberty, cu excepția Liberty Core. Descărcați WebSphere Liberty JAX-RPC Conversion Tool for Maven and Gradle.

Da

JAX-WS este suportat ca o caracteristică configurabilă pe toate edițiile Liberty, cu excepția Liberty Core.

Nu

Axa 1 nu este suportată.

Da

JAX-RPC este suportat pe WebSphere Application Server traditional.

Soluţie strategică

Da

JAX-WS este strategic pentru toate edițiile Liberty, cu excepția Liberty Core.

Da

JAX-WS este strategic pentru toate edițiile Liberty, cu excepția Liberty Core.

Nu

Axa 1 nu mai este în dezvoltare.

Nu

Tehnologia este perimată în WebSphere Application Server tradiţional şi ar putea fi înlăturată într-o versiune ulterioară.

Complexitate implementare

Mică

Dacă aplicația îndeplinește cerințele pentru unealta JAX-RPC Conversion, serviciile JAX-RPC pot fi convertite în servicii web JAX-WS de către această unealtă.

Înaltă

Această opțiune poate fi complexă pentru un număr mare de clienți și servicii web JAX-RPC. Fără a utiliza unealta JAX-RPC Conversion pentru a porta serviciile JAX-RPC la JAX-WS sunt necesare multe modificări la baza codului.

Mică

Dacă aplicația folosește deja Axis 1, această opțiune nu este complexă. Altfel, această opțiune este de complexitate medie.

Medie

Migrarea JAX-RPC Web Services la un alt motor păstrează cel mai mult din baza codului.

Caracteristici avansate

Da

JAX-WS furnizează multe caracteristici avansate cum ar fi Adnotări, Legări JAXB și SOAP 1.2.

Da

JAX-WS furnizează multe caracteristici avansate cum ar fi Adnotări, Legări JAXB și SOAP 1.2.

Nu

JAX-RPC nu are multe dintre caracteristicile avansate care sunt în JAX-WS.

Nu

JAX-RPC nu are multe dintre caracteristicile avansate care sunt în JAX-WS.

Conformitatea cu specificația

Da

Da

Da

Deşi JAX-RPC este încă parte a specificaţiei Java EE, este perimat cu Java EE 6.

Da

Deşi JAX-RPC este încă parte a specificaţiei Java EE, este perimat cu Java EE 6.

Recomandare

Utilizați această opțiune dacă aplicația îndeplinește cerințele uneltei JAX-RPC Conversion.

Utilizați această opțiune dacă aveți puține servicii web JAX-RPC și aplicația nu îndeplinește cerințele uneltei JAX-RPC Conversion.

Utilizați această opțiune dacă serviciile web JAX-RPC rulează deja pe Axis 1.

Utilizați această opțiune dacă serviciile web JAX-RPC rulează deja pe WebSphere Application Server traditional sau dacă aveți multe servicii web JAX-RPC care nu rulează încă pe Axis 1.

Migrarea serviciilor web JAX-RPC către serviciile web JAX-WS utilizând unealta JAX-RPC Conversion

Descărcați unealta de conversie JAX-RPC de la WebSphere Liberty JAX-RPC Conversion Tool for Maven and Gradle.

Pentru informații despre migrarea aplicațiilor de la JAX-RPC la JAX-WS folosind unealta de conversie JAX-RPC, vedeți Migrarea aplicațiilor JAX-RPC la Liberty utilizând Maven sau Migrarea aplicațiilor JAX-RPC la Liberty utilizând Gradle în documentația online.

Migrarea manuală a serviciilor web JAX-RPC la serviciile web JAX-WS

Pentru informații despre migrarea aplicațiilor de la JAX-RPC la JAX-WS, vedeți Scenarii de migrare a serviciilor web: JAX-RPC la JAX-WS și JAXB în documentația online.

Pentru mai multe informații cu privire la diferențele dintre JAX-RPC și JAX-WS, vedeți Modelul de implementare a aplicațiilor JAX-WS.

Utilizaţi motorul Apache Axis 1 JAX-RPC pe Liberty

Dacă utilizați deja Axis 1, pentru a îl folosi pe Liberty trebuie să includeți bibliotecile Axis 1 în calea de clase Liberty.

Dacă utilizați un JAX-RPC înglobat, vă puteți converti serviciile web pentru a utiliza Axis 1. Următoarea procedură descrie cum să migrați un serviciu web de la Red Hat JBoss la Axis 1.

  1. Descărcați bibliotecile Axis 1.0 de pe site-ul web Apache.
    Notă: Axis 2.0 utilizează JAX-WS și nu suportă servicii web JAX-RPC.
  2. Includeți biblioteci Axis în calea de clase. Puteți include bibliotecile în calea de clase a serverului sau în directorul aplicației WEB-INF/lib.
  3. Înlăturaţi referinţa la serviciul web din fişierul web.xml.
  4. Adăugaţi servleturile Axis Admin la fişierul web.xml. Pentru exemple de fișier web.xml, vedeți Advanced Installation: adding Axis to your own Webapp pe site-ul web Apache.
  5. Regeneraţi serviciile web de la fişierul WSDL folosind următoarea comandă:

       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>

    Pentru mai multe informații despre această comandă, vedeți WSDL2Java Reference pe site-ul Apache.

  6. Creați un descriptor de implementare Axis prin crearea unui fișier XML numit server-config.wsdd în directorul WEB-INF.

    Pentru mai multe informații despre elementele de configurare WSDD, vedeți Deployment (WSDD) Reference pe site-ul web Apache.

  7. Modificaţi codul de client pentru a se potrivi cu noul mediu. Deoarece serverul nu este folosit ca un container, referinţele JNDI nu pot fi folosite. Referinţele JNDI trebuie să fie înlăturate şi înlocuite cu referinţe directe URL.

    De exemplu, următoarea metodă are o căutare JNDI:


    public DemoType getService() throws Exception {

    javax.naming.InitialContext ctx = new javax.naming.InitialContext();

    DemoService service = (DemoService)ctx.lookup("java:comp/env/service/Demo");

    return service.getDemoService();
    }

    Căutarea trebuie să fie înlocuită:

    private com.ibm.demo.webservices.server.DemoType getService() throws Exception {

    com.ibm.demo.webservices.server.DemoService_ServiceLocator service = new com.ibm.demo.webservices.server.DemoService_ServiceLocator();

    com.ibm.demo.webservices.server.DemoType demoType = service.getDemoService();

    return demoType;

    }

Utilizați WebSphere Application Server traditional cu motorul său nativ JAX-RPC

Dacă doriți să utilizați motorul WebSphere Application Server JAX-RPC, atunci trebuie să folosiți WebSphere Application Server traditional. Liberty nu suportă JAX-RPC. Dacă doriţi să utilizaţi Liberty, trebuie să alegeţi una dintre celelalte opţiuni.

Numai configurare

Dacă sunt detectate fişiere de configuraţie JAX-RPC, dar nu există o utilizare detectată a API-ului Java JAX-RPC în această aplicaţie, fişierele de configuraţie ar putea fi dintr-o utilizare anterioară a tehnologiei JAX-RPC care nu mai este necesară. Configuraţia nefolosită poate fi înlăturată.