Migrace protokolu JAX-RPC na JAX-WS

Toto pravidlo označuje použití všech specifických balíčků a konfigurace JAX-RPC:

Balíky

Konfigurační soubory

  • 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
  • webservices.xml
  • web.xml
  • ejb-jar.xml
  • 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á pět možností podle faktorů, které mohou ovlivnit váš projekt.

Faktory projektu

Volba 1

Migrace webových služeb JAX-RPC na webové služby JAX-WS pomocí pomocníka pro migraci zdrojů JAX-RPC

Volba 2

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 3

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

Volba 4

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

Možnost 5

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.

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.

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

Střední

Aplikace byla ověřena pro použití pomocníka pro migraci zdrojů JAX-RPC. Služby JAX-RPC mohou být pomocí tohoto nástroje ve zdrojovém kódu aplikace převést na webové služby JAX-WS.

Nízká

Platnost aplikace byla ověřena pro použití nástroje pro převod na rozhraní JAX-RPC. Služby JAX-RPC lze konvertovat na webové služby JAX-WS v binárním archivu pomocí tohoto nástroje.

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.

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

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 možnost použijte, pokud máte nárok na IBM Application Modernization Accelerator Developer Tools. Jedná se o jedinou možnost, která poskytuje automatizovanou pomoc při migraci zdrojového kódu aplikace do systému JAX-WS.

Tuto volbu použijte, pokud aplikace splňuje požadavky nástroje pro převod na rozhraní JAX-RPC. Tento nástroj pouze převádí binární archivy.

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 JAX-RPC na webové služby JAX-WS pomocí pomocníka pro migraci zdrojů JAX-RPC

Pomocník pro migraci zdrojů JAX-RPC je k dispozici na adrese IBM Application Modernization Accelerator Developer Tools. Tento nástroj pomůže při transformaci starších služeb JAX-RPC na JAX-WS ve zdrojovém kódu aplikace. Další informace naleznete na adrese Application Modernization Accelerator Developer Tools přehled.

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 JAX-RPC ze stránek WebSphere Liberty JAX-RPC Conversion Tool for Maven a Gradle pro migraci binárního archivu.

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.