JAX-RPC cu implementarea furnizată - Candidat valid pentru unealta de conversie JAX-RPC

Validarea din unealta de conversie JAX-RPC a determinat că un serviciu web JAX-RPC din această scanare este un candidat bun pentru conversie de binar la JAX-WS cu unealta de conversie JAX-RPC. În aplicația dumneavoastră a fost detectată o implementare pentru JAX-RPC. Puteți continua să utilizați implementarea JAX-RPC furnizată în aplicație, fără modificări de cod. 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

JAX-RPC (Java API for XML-based RPC) nu este suportat pe Liberty sau Liberty Core. Tehnologia este perimată în WebSphere Application Server tradiţional V9.0 şi ar putea fi înlăturată într-o versiune ulterioară. Calea de migrare strategică este de a utiliza JAX-WS. Efortul relativ se va modifica în funcție de calea de migrare aleasă:

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 la servicii web JAX-WS cu unealta de conversie JAX-RPC

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 tradiţional.

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ă

Aplicația a trecut de validarea pentru unealta de conversie JAX-RPC și serviciile JAX-RPC pot fi convertite la servicii web JAX-WS folosind această unealtă.

Mare

Această opţiune poate fi complex pentru un număr mare de clienţi şi servicii web JAX-RPC. Dacă nu este utilizată unealta de conversie JAX-RPC pentru a porta serviciile JAX-RPC la JAX-WS, sunt necesare multe modificări privind baza codului.

Mică

Dacă aplicaţia foloseşte deja Axa 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ă cele mai mult din codul de bază.

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 de conversie JAX-RPC.

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

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

Utilizaţi această opţiune dacă serviciile web JAX-RPC deja rulează pe WebSphere Application Server tradiţional sau dacă aveţi multe servicii web JAX-RPC care nu deja rulează pe Axa 1.

Migrarea serviciilor web JAX-RPC la servicii web JAX-WS cu unealta de conversie JAX-RPC

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ă deja aţi folosit Axa 1, pentru a o folosi pe Liberty trebuie să includeţi bibliotecile Axa 1 în calea clasei 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ă: Axa 2.0 utilizează JAX-WS şi nu suportă servicii web JAX-RPC.
  2. Includeţi biblioteci Axă în calea de clasă. Puteţi include biblioteci fie în calea clasei 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 Axă 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 tradiţional 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 tradiţional. 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ă.