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

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 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 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 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 către serviciile web JAX-WS utilizând unealta JAX-RPC Conversion

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

Pentru informații privind migrarea aplicațiilor de la JAX-RPC la JAX-WS folosind unealta JAX-RPC Conversion, vedeți Migrating JAX-RPC applications to Liberty by using Maven sau Migrating JAX-RPC applications to Liberty by using Gradle în documentația online.

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

Pentru informaţii despre aplicaţiile de migrare 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 informaţii suplimentare despre diferenţele între JAX-RPC şi JAX-WS, vedeţi Modelul de implementare aplicaţie 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 Axei 1.0 de la Apache website.
    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 ale fişierului web.xml, vedeţi Instalare avansată: adăugarea Axelor la propria dumneavoastră Webapp pe Apache website.
  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 informaţii suplimentare despre această comandă, vedeţi WSDL2Java Reference pe Apache website.

  6. Creaţi un descriptor de implementare Axă prin crearea unui fişier XML numit server-config.wsdd în directorul WEB-INF.

    Pentru informaţii suplimentare despre configurarea elementelor WSDD, vedeţi Deployment (WSDD) Reference pe Apache website.

  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ă.