Toto pravidlo zjistí přítomnost webových služeb JAX-RPC na základě následujících kritérií:
- Přítomnost souboru web-services.xml
- Přítomnost souboru, weblogic-webservices.xml, a souboru, webservices.xml, ve stejné složce
Manuální řešení
Chcete-li generovat webové služby JAX-RPC na základě deskriptorů nasazení webových služeb WebLogic J2EE, musíte ručně vytvořit skript Ant pomocí specifických IBM® Ant úloh. Skript by měl být přidán do kořenové složky projektu, pokud již neexistuje soubor vytvořený na adrese IBM Ant. Tyto úkoly budou generování webových služeb JAX-RPC z deskriptorů nasazení.
Vlastnosti pravidla
Pro zajištění přesných výsledků analýzy je nutné zadat správné hodnoty vlastností pravidel. Tyto vlastnosti by měly být přezkoumány a vhodně nakonfigurovat na základě kontextu vaší aplikace. Vlastnosti pro toto pravidlo jsou:
- Název vygenerovaného skriptu Ant
:
Určuje název nového generovaného skriptu Ant. Skript musí být platný název souboru. Hodnota nesmí obsahovat žádná lomítka vpřed ani vzad. Skript bude v kořenové složce projektu.
Výchozí hodnota: build-ibm-ws.xml
- Název složky generování:
Určuje název složky, ve které budou artefakty generování uloženy. Hodnota nesmí obsahovat žádná lomítka vpřed ani vzad. Generování složky bude v kořenové složce projektu.
Výchozí hodnota: ibm-ws-gen
Cesta ke třídě Ant
Cesta ke třídě Ant je vypočtena z projektu Eclipse.
Je důležité ověřit, že všechny prvky pro kompilaci jsou uvedeny v cestě ke třídě Eclipse.
Služby JAX-RPC definované v souboru web-services.xml
Na základě informací a typu služeb definovaných v souboru web-services.xml je skript Ant vygenerován a případně i další kód Java, který představuje rozhraní koncového bodu webové služby, aby bylo možné reprodukovat službu JAX-RPC.
- Podporované komponenty
Pouze komponenty Stateless Session enterprise beans (<stateless-ejb>) a Java (R) (<java-class>) lze rozpoznat a převést.
- Nestavové komponenty EJB:
Soubor JAR Enterprise JavaBeans (TM) (EJB), jak je definován v atributu cesty v souboru <ejb-link>, musí v projektu existovat. Automatická oprava prohledá soubor EJB JAR a vygeneruje nové rozhraní koncového bodu služby (SEI) na základě vzdálené třídy EJB.
Rozhraní SEI se od vzdálených rozhraní EJB liší v tom, že že třída musí rozšiřovat
java.rmi.Remote
, a každá metoda musí vyhodit výjimku,
java.rmi.RemoteException
.
Automatická oprava použije reflexi Java na EJB vzdáleného rozhraní k vygenerování nového SEI .
Proto se ujistěte, že cesta tříd vašeho projektu Eclipse obsahuje všechny potřebné třídy, soubory JAR a adresáře, které jsou vyžadovány v projektu pro úspěšné načtení vzdálené třídy EJB.
SEI musí být vygenerován ve složce sei uvnitř složky generování, jak ji zadal uživatel v pravidle vlastnosti. Balíček SEI odpovídá vzdálenému rozhraní EJB a název SEI bude stejný jako název vzdáleného rozhraní EJB s připojeným slovem SEI. Kromě toho bude nová složka SEI je přidána do cesty k třídám projektu.
- Komponenty třídy Java:
Podobně jako u komponent EJB vygeneruje automatická oprava rozhraní koncového bodu služby ze třídy Java, která je definována v atributu <název třídy>.
- Cíle vygenerovaného skriptu Ant:
Vygenerovaný skript Ant obsahuje cíle pro generování souboru WSDL a služby JAX-RPC na základě nové SEI, která bude vytvořena.
Cíl generování WSDL bude mít název, genWSDL_ssss, kde ssss je název služby JAX-RPC, která byla uveden v poli atributu name služby <web-service> elementu.
Cíle generování služeb mají název, genService_pppp, kde pppp je název komponenty z název atributu elementu <stateless-ejb> nebo <java-class>.
Automatická oprava nepoužije poskytnuté informace v jiných prvcích, například <handlers-chain>, <types>, <operace>, <zabezpečení> atd.
Služby JAXRPC definované v souboru webservices.xml
Na základě informací a typu služeb definovaných v souboru webservices.xml je vygenerován skript Ant pro reprodukci služby JAX-RPC.
- Cíle vygenerovaného skriptu Ant:
Vygenerovaný skript Ant obsahuje cíle pro generování souboru WSDL a služby JAX-RPC.
Cíl generování WSDL se generuje pouze v případě, že nelze najít soubor WSDL definovaný v prvku, <wsdl-soubor>.
Pokud je vytvořen, cíl generování WSDL má název, genWSDL_ssss, kde ssss je název služby, jak je definován v elementu <webservice-description-name>.
Cíle generování služeb budou mít název, genService_pppp, kde pppp je název portu definovaný pomocí funkce elementu <jméno-komponenty-portu>.
Úlohy Ant serveru IBM WebSphere Application Server
Server WebSphere(R) Application Server zahrnuje úlohy Ant jako java2wsdl a wsdl2java ke generování nezbytných artefaktů pro služby JAX-RPC. Generovaný skript Ant používá tyto úlohy k sestavení služby.
Další informace o těchto úlohách lze získat z dokumentace k produktu
WebSphere Application Server.
Spuštění skriptu Ant
Po vytvoření skriptu Ant si jej prohlédněte a v případě potřeby přidejte další úpravy.
Další možnosti přizpůsobení úloh IBM Ant naleznete v dokumentaci k aplikačnímu serveru.
Skript musíte spustit pomocí nástrojů Ant, které
jsou obsaženy v produktu WebSphere Application Server. Skript IBM Ant lze
spustit z:
- WAS_HOME\bin\ws_ant.bat v operačních systémech Windows(R)
- WAS_HOME\bin\ws_ant.sh v operačních systémech UNIX(R)
Příklad: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
Jakmile jsou cíle Ant spuštěny, vytvořené artefakty jsou uloženy na adrese ve složce generování. Uživatel pak může zkontrolovat vygenerované artefakty kód a deskriptory nasazení a poté tyto artefakty přidat do svého počítače moduly.
Doporučení: Zvažte přechod na JAX-WS
Pokud již provádíte změny ve svých webových službách JAX-RPC v rámci migrace nebo modernizace, důrazně doporučujeme zvážit přechod na systém JAX-RPC JAX-WS ( Java API for XML Web Services).
JAX-WS je nástupcem JAX-RPC a nabízí několik výhod:
- Moderní design rozhraní API s lepší podporou anotací a integrací s Java EE
- Zlepšená interoperabilita s dalšími rámci a standardy webových služeb
- Lepší nástroje a podpora v moderních aplikačních serverech a IDE
- Dlouhodobá životaschopnost, protože JAX-RPC je považován za starší technologii
Přechod na JAX-WS nyní může snížit budoucí technický dluh a sladit vaši aplikaci s aktuálními standardy webových služeb Java.
Pokyny k migraci z JAX-RPC na JAX-WS naleznete ve scénářích migrace webových služeb: JAX-RPC na JAX-WS a dokumentaci k JAXB.