JAX-RPC - Nem érvényes jelölt a JAX-RPC átalakítási eszközhöz

Ez a szabály a JAX-RPC specifikus csomagok és konfigurációs fájlok használatát jelöli meg. A szabály a jaxrpc-mapping-file címke használatát is megjelöli az XML leképezési fájlokban. Az alábbi táblázat felsorolja a szabály által érintett Java csomagokat, konfigurációs fájlokat és XML leképezési fájlokat:

Csomagok

Konfigurációs fájlok

XML leképezési fájlok

  • 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

Ez a szabály futtatja az érvényesítést a JAX-RPC átalakító eszközről, és megállapította, hogy az elemzés nem tartalmaz megfelelő JAX-RPC webszolgáltatás jelöltet a bináris átalakításhoz JAX-WS szolgáltatásra a JAX-RPC átalakítási eszköz használatával.

A Java API for XML-based RPC (JAX-RPC) nem támogatott Liberty vagy Liberty Core kiszolgálón. A technológia elavult a hagyományos WebSphere Application Server V9.0 változatban és eltávolításra kerülhet egy későbbi változatban. Ha alkalmazása JAX-RPC hívást használ, akkor az átállás stratégiai módját a JAX-WS használata képviseli, de vannak alternatív megoldások is:

Az alábbi táblázat a projektre potenciálisan hatással lévő tényezők alapján hasonlítja össze a négy választási lehetőséget.

Projekt tényezők

1. lehetőség

JAX-RPC webszolgáltatások manuális átállítása JAX-WS webszolgáltatásokra

2. lehetőség

Az Apache Axis 1 JAX-RPC alrendszer használata Liberty kiszolgálón

3. lehetőség

Hagyományos WebSphere Application Server használata annak natív JAX-RPC alrendszerével

Támogatott megoldás

Igen

A JAX-WS a Liberty Core kivételével minden Liberty kiadásban támogatott konfigurálható szolgáltatásként.

Nem

Az Axis 1 nem támogatott.

Igen

A JAX-RPC támogatott hagyományos WebSphere Application Server kiszolgálón.

Stratégiai megoldás

Igen

A JAX-WS a Liberty Core kivételével minden Liberty kiadáshoz stratégiai fontosságú.

Nem

Az Axis 1 már nincs fejlesztve.

Nem

A JAX-RPC elavult hagyományos WebSphere Application Server kiszolgálókon, és egy későbbi változatban eltávolításra kerülhet.

A megvalósítás összetettsége

Magas

Ez a lehetőség bonyolult lehet nagy számú JAX-RPC ügyfél és világhálós szolgáltatás esetén. A JAX-RPC szolgáltatások átállításához JAX-WS API-ra a JAX-RPC átalakító eszköz használata nélkül a kódbázis jelentős módosításra van szükség.

Alacsony

Ha az alkalmazás már az Axis 1 változatot használja, akkor ez a lehetőség nem bonyolult. Máskülönben ez a lehetőség közepesen bonyolult.

Közepes

A JAX-RPC világhálós szolgáltatások költöztetése egy eltérő alrendszerre megőrzi a kódalap nagy részét.

Speciális szolgáltatások

Igen

A JAX-WS számos speciális szolgáltatást ad, például annotációk, JAXB kötés és SOAP 1.2.

Nem

A JAX-RPC nem tartalmaz számos olyan speciális szolgáltatást, amelyek megtalálhatók a JAX-WS megvalósításban.

Nem

A JAX-RPC nem tartalmaz számos olyan speciális szolgáltatást, amelyek megtalálhatók a JAX-WS megvalósításban.

Megfelelés a specifikációnak

Igen

Igen

Habár a JAX-RPC még része a Java EE előírásnak, a Java EE 6 változatban elavult.

Igen

Habár a JAX-RPC még része a Java EE előírásnak, a Java EE 6 változatban elavult.

Javaslat

Akkor használja ezt a lehetőséget, ha rendelkezik néhány JAX-RPC webszolgáltatással, és az alkalmazás nem felel meg a JAX-RPC átalakító eszköz követelményeinek.

Használja ezt a lehetőséget, ha a JAX-RPC világhálós szolgáltatásai már Axis 1 változaton futnak.

Használja ezt a lehetőséget, ha a JAX-RPC világhálós szolgáltatásai már hagyományos WebSphere Application Server kiszolgálón futnak, vagy ha sok JAX-RPC szolgáltatással rendelkezik, amelyek nem Axis 1 változaton futnak.

JAX-RPC webszolgáltatások manuális átállítása JAX-WS webszolgáltatásokra

Az alkalmazások JAX-RPC szolgáltatásról JAX-WS szolgáltatásra történő átállításával kapcsolatos információkért tekintse meg a következőt: Webszolgáltatás átállítási példahelyzetek: JAX-RPC szolgáltatásról JAX-WS és JAXB szolgáltatásra rész az online dokumentációban.

A JAX-RPC és a JAX-WS közötti különbségekkel kapcsolatos további információkért lásd: JAX-WS alkalmazástelepítési modell.

Az Apache Axis 1 JAX-RPC alrendszer használata Liberty kiszolgálón

Ha már Axis 1 alrendszert használ, akkor ha azt Liberty kiszolgálón kívánja használni, bele kell foglalnia az Axis 1 függvénytárakat a Liberty osztályútvonalba.

Ha beágyazott JAX-RPC szolgáltatást használ, akkor webszolgáltatásait átalakíthatja az Axis 1 használatára. A következő eljárás azt ismerteti, hogy hogyan állíthat át webszolgáltatást Red Hat JBoss platformról Axis 1-re.

  1. Töltse le az Axis 1.0 könyvtárakat az Apache webhelyéről.
    Megjegyzés: Az Axis 2.0 a JAX-WS szolgáltatást használja, és nem támogatja a JAX-RPC világhálós szolgáltatásokat.
  2. Foglalja bele az Axis függvénytárakat az osztályútvonalba. A függvénytárakat a kiszolgáló osztályútvonalába vagy az alkalmazás WEB-INF/lib könyvtárába foglalhatja bele.
  3. Távolítsa el a világhálós szolgáltatásra mutató hivatkozást a web.xml fájlból.
  4. Adja hozzá az Axis adminisztrációs szervleteket a web.xml fájlhoz. A web.xml fájl példái: Speciális telepítés: Axis hozzáadása saját webapphoz az Apache weboldalán.
  5. Állítsa elő újra a világhálós szolgáltatásokat a WSDL fájlból a következő parancs használatával:

       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>

    A paranccsal kapcsolatos további információk: WSDL2Java leírás az Apache weboldalán.

  6. Hozzon létre egy Axis telepítésleírót egy server-config.wsdd nevű XML fájl létrehozásával a WEB-INF könyvtárban.

    A WSDD konfigurációs elemekkel kapcsolatos további információk: Telepítés (WSDD) leírása az Apache weboldalán.

  7. Módosítsa az ügyfélkódot, hogy megfeleljen az új környezetnek. Mivel a kiszolgáló nem kerül felhasználásra tárolóként, nincsenek használatban JNDI hivatkozások. A JNDI hivatkozásokat el kell távolítani, és le kell cserélni a közvetlen URL hivatkozásra.

    Például a következő módszer tartalmaz egy JNDI kikeresést:


    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();
    }

    A kikeresést le kell cserélni:

    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;

    }

Használjon hagyományos WebSphere Application Server kiszolgálót annak natív JAX-RPC alrendszerével

Ha a WebSphere Application Server JAX-RPC alrendszert szeretné használni, akkor hagyományos WebSphere Application Server kiszolgálót kell használnia. A Liberty nem támogatja a JAX-RPC alrendszert. Ha Liberty kiszolgálót szeretne használni, akkor a többi lehetőség egyikét kell választania.

Csak konfiguráció

Ha a rendszer JAX-RPC konfigurációs fájlokat észlel, de az alkalmazásban nem ismerhető fel a JAX-RPC Java API használata, akkor a konfigurációs fájlok a JAX-RPC technológia korábbi használatából származhatnak, amelyre már nincs szükség. A nem használt konfiguráció eltávolítható.