JAX-RPC – platný kandidát pro nástroj pro převod na rozhraní JAX-RPC

Ověření platnosti z nástroje pro převod na rozhraní JAX-RPC určilo, že webová služba rozhraní JAX-RPC v tomto skenování je vhodným kandidátem pro binární převod na rozhraní JAX-WS pomocí nástroje pro převod na rozhraní JAX-RPC. Toto pravidlo označí příznakem použití všech specifických balíků JAX-RPC a konfiguračních souborů. Toto pravidlo také označí příznakem jakékoli použití značky jaxrpc-mapping-file v souborech mapování XML. V následující tabulce jsou uvedeny balíky Java, konfigurační soubory a soubory mapování XML ovlivněné tímto pravidlem:

Balíky

Konfigurační soubory

Soubory mapování 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

Rozhraní JAX-RPC (Java API for XML-based RPC) není podporováno na serveru Liberty nebo Liberty Core. Technologie je v produktu WebSphere Application Server Traditional V9.0 zamítnuta a může být v novější verzi odebrána. Strategickou cestu migrace představuje použití rozhraní JAX-WS. Relativní úsilí se změní na základě zvolené cesty migrace:

Následující tabulka porovnává čtyři volby v závislosti na faktorech, které mohou ovlivnit váš projekt.

Faktory projektu

Volba 1

Migrace webových služeb rozhraní JAX-RPC na webové služby rozhraní JAX-WS s pomocí nástroje pro převod na rozhraní JAX-RPC

Volba 2

Ruční migrace webových služeb JAX-RPC do webových služeb JAX-WS

Volba 3

Použití generátoru Apache Axis 1 JAX-RPC na serveru Liberty

Volba 4

Použití serveru WebSphere Application Server Traditional s jeho nativními generátory JAX-RPC

Podporované řešení

Ano

Rozhraní JAX-WS je podporováno jako konfigurovatelná funkce ve všech vydáních Liberty s výjimkou Liberty Core. Stáhněte nástroj pro převod na rozhraní JAX-RPC WebSphere Liberty pro Maven a Gradle.

Ano

Rozhraní JAX-WS je podporováno jako konfigurovatelná funkce ve všech vydáních Liberty s výjimkou Liberty Core.

Ne

Generátor Axis 1 není podporován.

Ano

Rozhraní JAX-RPC je podporováno na serveru WebSphere Application Server Traditional.

Strategické řešení

Ano

Rozhraní JAX-WS je strategické pro všechna vydání Liberty kromě Liberty Core.

Ano

Rozhraní JAX-WS je strategické pro všechna vydání Liberty kromě Liberty Core.

Ne

Generátor Axis 1 se již nevyvíjí.

Ne

Rozhraní JAX-RPC je zamítnuto na serveru WebSphere Application Server Traditional a může být odebráno v novější verzi.

Složitost implementace

Nízká

Platnost aplikace byla ověřena pro použití nástroje pro převod na rozhraní JAX-RPC. Tento nástroj může převést služby rozhraní JAX-RPC na webové služby rozhraní JAX-WS.

Vysoká

Tato volba může být složitá pro velké počty klientů JAX-RPC a webových služeb. Bez použití nástroje pro převod na rozhraní JAX-RPC k převedení služeb rozhraní JAX-RPC na rozhraní JAX-WS je nutné provést mnoho změn v základním kódu Java.

Nízká

Pokud aplikace již používá generátor Axis 1, tato volba není složitá. Jinak je tato volba střední složitosti.

Střední

Migrace webových služeb JAX-RPC na jiný generátor zachovává většinu základního kódu.

Rozšířené funkce

Ano

Rozhraní JAX-WS poskytuje mnoho pokročilých funkcí jako např. Anotace, vazba JAXB a SOAP 1.2.

Ano

Rozhraní JAX-WS poskytuje mnoho pokročilých funkcí jako např. Anotace, vazba JAXB a SOAP 1.2.

Ne

Rozhraní JAX-RPC nemá mnoho pokročilých funkcí, které jsou v rozhraní JAX-WS.

Ne

Rozhraní JAX-RPC nemá mnoho pokročilých funkcí, které jsou v rozhraní JAX-WS.

Kompatibilita specifikace

Ano

Ano

Ano

Ačkoli je rozhraní JAX-RPC stále součástí specifikace Java EE, je zamítnuto s prostředím Java EE 6.

Ano

Ačkoli je rozhraní JAX-RPC stále součástí specifikace Java EE, je zamítnuto s prostředím Java EE 6.

Doporučení

Tuto volbu použijte, pokud aplikace splňuje požadavky nástroje pro převod na rozhraní JAX-RPC.

Tuto volbu použijte, pokud máte několik webových služeb s rozhraním JAX-RPC a aplikace nesplňuje požadavky nástroje pro převod na rozhraní JAX-RPC.

Tuto volbu použijte v případě, že webové služby JAX-RPC jsou již spuštěny v generátoru Axis 1.

Tuto volbu použijte v případě, že webové služby JAX-RPC jsou již spuštěny na serveru WebSphere Application Server Traditional, nebo pokud máte mnoho webových služeb JAX-RPC, které ještě nejsou spuštěny v generátoru Axis 1.

Migrace webových služeb rozhraní JAX-RPC na webové služby rozhraní JAX-WS s pomocí nástroje pro převod na rozhraní JAX-RPC

Stáhněte si nástroj pro převod na rozhraní JAX-RPC ze stránky Nástroj pro převod na rozhraní JAX-RPC WebSphere Liberty JAX-RPC pro Maven a Gradle.

Chcete-li získat informace o migraci aplikací z rozhraní JAX-RPC na rozhraní JAX-WS s pomocí nástroje pro převod na rozhraní JAX-RPC, prohlédněte si téma Migrace aplikací rozhraní JAX-RPC na Liberty s pomocí Maven nebo téma Migrace aplikací rozhraní JAX-RPC na Liberty s pomocí Gradle v dokumentaci online.

Ruční migrace webových služeb JAX-RPC do webových služeb JAX-WS

Chcete-li získat informace o migraci aplikací z rozhraní JAX-RPC na rozhraní JAX-WS, prohlédněte si scénáře migrace webových služeb: z rozhraní JAX-RPC na rozhraní JAX-WS a JAXB v dokumentaci online.

Další informace o rozdílech mezi JAX-RPC a JAX-WS naleznete v tématu Model implementace aplikace JAX-WS.

Použití generátoru Apache Axis 1 JAX-RPC na serveru Liberty

Pokud již používáte generátor Axis 1, k jeho použití na serveru Liberty musíte zahrnout knihovny Axis 1 do cesty ke třídě Liberty.

Používáte-li vestavěné rozhraní JAX-RPC, můžete převést své webové služby tak, aby používaly generátor Axis 1. Následující procedura popisuje, jak migrovat webovou službu z Red Hat JBoss do Axis 1.

  1. Stáhněte knihovny Axis 1.0 z webového serveru Apache.
    Poznámka: Axis 2.0 používá rozhraní JAX-WS a nepodporuje webové služby JAX-RPC.
  2. Zahrňte knihovny Axis do cesty ke třídě. Můžete zahrnout knihovny buď do cesty ke třídě, nebo do adresáře WEB-INF/lib aplikace.
  3. Odeberte odkaz na webovou službu ze souboru web.xml.
  4. Přidejte servlety administrace Axis do souboru web.xml. Příklady souboru web.xml naleznete v tématu Rozšířená instalace: přidání knihoven Axis do vlastní webové aplikace na webovém serveru Apache.
  5. Znovu vygenerujte webové služby ze souboru WSDL pomocí následujícího příkazu:

       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>

    Další informace o tomto příkazu naleznete v odkazu WSDL2Java na webovém serveru Apache.

  6. Vytvořte deskriptor implementace generátoru Axis vytvořením souboru XML s názvem server-config.wsdd v adresáři WEB-INF.

    Další informace o prvcích konfigurace WSDD naleznete v odkazu na implementaci (WSDD) na webovém serveru Apache.

  7. Upravte kód klienta, aby vyhovoval novému prostředí. Vzhledem k tomu, že server není používán jako kontejner, nelze použít odkazy JNDI. Odkazy JNDI musí být odebrány a nahrazeny přímými odkazy na adresu URL.

    Například následující metoda má vyhledání v rozhraní 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();
    }

    Vyhledání musí být nahrazeno:

    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;

    }

Použít server WebSphere Application Server Traditional s jeho nativními generátory JAX-RPC

Chcete-li používat generátor rozhraní JAX-RPC aplikačního serveru WebSphere Application Server, musíte použít aplikační server WebSphere Application Server Traditional. Liberty nepodporuje rozhraní JAX-RPC. Chcete-li používat server Liberty, musíte vybrat jednu z ostatních voleb.

Pouze konfigurace

Pokud jsou zjištěny konfigurační soubory JAX-RPC, ale v této aplikaci není zjištěno použití rozhraní JAX-RPC Java API, mohou konfigurační soubory pocházet z předchozího použití technologie JAX-RPC, které již nejsou potřebné. Nepoužívaná konfigurace může být odebrána.