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
Rychlá oprava
Ve zdrojovém skeneru toto pravidlo produkuje skript Ant se specifickými úlohami IBM(R) Ant. Tyto úlohy generují webové služby JAX-RPC, které jsou založeny na deskriptorech implementace webové služby WebLogic J2EE. Rychlá oprava prochází deskriptory implementace webových služeb a vytváří skript Ant, pokud v kořenové složce projektu neexistuje vygenerovaný soubor IBM Ant. Skript obsahuje úlohy IBM Ant pro generování webových služeb JAX-RPC.
Vlastnosti pravidla
Je třeba zadat správné hodnoty vlastností pravidla. Chcete-li změnit hodnoty vlastností pro toto pravidlo, vyberte pravidlo v okně Konfigurace analyzátoru softwaru. Poté použijte pole přítomná na kartě Vlastnosti. Vlastnosti tohoto pravidla jsou:
- Název vygenerovaného skriptu Ant
:
Určuje název nového skriptu Ant, který má být vygenerován. Název skriptu musí být platným názvem souboru. Hodnota nesmí obsahovat žádná dopředná a zpětná lomítka. Generovaný skript bude umístěn 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, v níž budou uloženy artefakty generování. Hodnota nesmí obsahovat žádná dopředná a zpětná lomítka. 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
Lze rozpoznávat a převádět pouze objekty typu Stateless Session enterprise bean (<stateless-ejb>) a Java(R) (<java-class>).
- Nestavové komponenty EJB:
Soubor JAR objektu Enterprise JavaBeans(TM) (EJB), jak je definován v atributu cesty prvku <ejb-link> musí v projektu existovat. Rychlá oprava prochází soubor EJB JAR a generuje novou třídu rozhraní SEI (Service Endpoint Interface) založenou na vzdálené třídě EJB.
Rozhraní SEI se liší od vzdálených rozhraní EJB v tom, že třída musí rozšiřovat java.rmi.Remote a každá metoda musí generovat výjimku java.rmi.RemoteException.
Rychlá oprava používá reflexi Java ve vzdáleném rozhraní EJB pro generování nového rozhraní SEI. Proto musí být cesta ke třídě projektu Eclipse nastavena se všemi nezbytnými třídami, soubory JAR, složkami atd., aby umožnila rychlé opravě vzdálené třídy EJB správně načíst.
Rozhraní SEI se generuje ve složce, sei, uvnitř složky generování, jak je poskytuje uživatel ve vlastnostech pravidla. Balík SEI odpovídá balíku vzdáleného rozhraní EJB a název SEI bude stejný jako vzdálené rozhraní EJB se slovem SEI k němu připojeným. Navíc je do cesty ke třídě projektu přidána nová složka SEI.
- Komponenty třídy Java:
Podobně jako komponenty EJB generuje rychlá oprava rozhraní SEI ze třídy Java definované v atributu <class-name>.
- Cíle vygenerovaného skriptu Ant:
Vygenerovaný skript Ant obsahuje cíle pro generování souboru WSDL a služby JAX-RPC založené na novém rozhraní SEI, které bylo vytvořeno během rychlé opravy.
Cíl generování WSDL bude mít název genWSDL_ssss, kde ssss je název služby JAX-RPC, která byla poskytnuta v poli atributu name prvku <web-service>.
Cíle generování služby mají název genService_pppp, kde pppp je název komponenty z atributu name daného prvku <stateless-ejb> nebo <java-class>.
Rychlá oprava nepoužívá informace poskytnuté v jiných prvcích, jako je <handlers-chain>, <types>, <operations>, <security> 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 je generován pouze v případě, že rychlá oprava nemůže vyhledat soubor WSDL, jak je definován v prvku <wsdl-file>.
Je-li vytvořen, má cíl generování WSDL název genWSDL_ssss, kde ssss je název služby, jak je definováno v prvku <webservice-description-name>.
Cíle generování služby budou mít název genService_pppp, kde pppp je název portu, jak je definován prvkem <port-component-name>.
Ú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
Poté, co rychlá oprava vytvoří skript Ant, zobrazte skript a v případě potřeby přidejte další přizpůsobení.
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
Při spuštění cílů Ant jsou vytvořené artefakty umístěny ve složce generování. Uživatel může zkontrolovat vygenerovaný kód, deskriptory implementace a poté přidat tyto artefakty do svých modulů.