Ez a szabály az alábbi feltételek teljesülése alapján ismeri fel a JAX-RPC
webszolgáltatások jelenlétét:
- A web-services.xml fájl jelenléte
- Az ugyanazon mappában található
weblogic-webservices.xml és
webservices.xml fájl jelenléte
Kézi megoldás
A JAX-RPC webszolgáltatások generálásához a WebLogic J2EE webszolgáltatás-telepítési leírók alapján kézzel kell létrehozni egy Ant szkriptet, amelyhez speciális IBM® Ant feladatokat. A szkriptet hozzá kell adni a projekt gyökérmappájához, ha a IBM Ant -generált fájl még nem létezik. Ezek a feladatok a JAX-RPC webszolgáltatások generálását a telepítési leírásokból.
Szabálytulajdonságok
A szabály tulajdonságainak helyes értékeit kell megadnia, hogy az elemzés során pontos eredményeket kapjon. Ezeket a tulajdonságokat felül kell vizsgálni és megfelelően konfigurálni az alkalmazás kontextusa alapján. A szabályhoz tartozó tulajdonságok a következők:
- Előállított Ant parancsfájl neve
:
Megadja a generált új Ant szkript nevét. A szkript névnek egy érvényes fájlnévnek kell lennie. Az érték nem tartalmazhat előre- vagy hátrafelé irányuló írásjeleket. A szkript a projekt gyökérmappájában lesz.
Alapértelmezett érték: build-ibm-ws.xml
- Előállítási mappa neve:
Megadja annak a mappának a nevét, amelyben a generációs leletek tárolódnak. Az érték nem tartalmazhat előre- vagy hátrafelé irányuló írásjeleket. Az előállítási mappa a projekt gyökérmappájában helyezkedik majd el.
Alapértelmezett érték: ibm-ws-gen
Ant osztályútvonal
Az Ant osztályútvonal az Eclipse projektből kerül meghatározásra.
Fontos
ellenőrizni, hogy a fordításhoz szükséges valamennyi elem szerepeljen az Eclipse
osztályútvonalon.
A web-services.xml fájlban meghatározott JAX-RPC szolgáltatások
A web-services.xml fájlban meghatározott
szolgáltatások információi és típusa alapján a JAXRPC szolgáltatás
reprodukálása érdekében egy Ant parancsfájl, valamint potenciális módon további
Java kód kerül előállításra, mely a webszolgáltatás-végpont felületét
ábrázolja.
- Támogatott komponensek
Csak a stateless session enterprise beans (<stateless-ejb>) és a Java (R) (<java-class>) komponensek felismerhetők és konvertálhatók.
- Állapot nélküli EJB-komponensek:
A Enterprise JavaBeans (TM) (EJB) JAR-fájl, ahogyan azt az elérési út attribútumában a <ejb-link> elem által meghatározott fájlnak léteznie kell a projektben. Az automatikus javítás beolvassa az EJB JAR fájlt, és létrehoz egy új Service Endpoint Interface-t (SEI) osztályt az EJB távoli osztálya alapján.
A SEI-interfészek az EJB távoli interfészeitől a következőkben különböznek hogy az osztálynak ki kell bővítenie
java.rmi.Remote
, és minden egyes metódusnak el kell dobnia a kivételt,
java.rmi.RemoteException
.
Az automatikus javítás a Java reflexiót használja az EJB-n távoli interfészen keresztül generálja az új SEI-t .
Ezért győződjön meg róla, hogy a Eclipse projektjének classpath-ja tartalmazza a következőket az összes szükséges osztályt, JAR fájlt és könyvtárat az EJB távoli osztály sikeres betöltéséhez.
A SEI-t az sei mappában kell létrehozni, a következő mappában a generációs mappában, ahogyan azt a felhasználó a szabályban megadja properties. A SEI csomag megfelel az EJB távoli interfészének csomaggal, és az SEI neve megegyezik az EJB távoli interfész nevével sEI szóval kiegészítve. Ezen felül az új SEI mappa hozzáadódik a projekt osztály elérési útvonalához.
- Java osztálykomponensek:
Az EJB komponensekhez hasonlóan az automatikus javítás is létrehoz egy Service Endpoint Interface-t a Java osztályból, amely az <class-name> attribútumban van definiálva.
- Előállított Ant célok:
A generált Ant szkript a következő célokat tartalmazza a WSDL fájl és a JAX-RPC szolgáltatás generálására az új SEI alapján, amelyet létrehozandó SEI alapján.
A WSDL generálás célpontja a következő nevet kapja, genWSDL_ssss, ahol ssssss a JAX-RPC szolgáltatás neve, amelyet a a <web-service> name attribútum mezőjében adtunk meg elemben található.
A szolgáltatásgeneráló célpontok neve, genService_pppp, ahol pppppp a komponens neve a név-ból elem <stateless-ejb> attribútumából vagy <java-class>.
Az automatikus javítás nem használja fel a megadott információkat más elemekben, például <handlers-chain>, <types>, <operations>, <security> és így tovább.
A webservices.xml fájlban meghatározott JAX-RPC szolgáltatások
A webservices.xml fájlban meghatározott
szolgáltatások információi és típusa alapján a JAX-RPC szolgáltatás
reprodukálása érdekében egy Ant parancsfájl kerül előállításra.
- Előállított Ant célok:
Az előállított Ant parancsfájl célokat tartalmaz a WSDL fájl és a JAX-RPC
szolgáltatás előállítása érdekében.
A WSDL generálási cél csak akkor generálódik, ha nem találja az elemben definiált WSDL-fájlt, <wsdl-file>.
Ha létrejön, akkor a WSDL generáló célpontnak van a genWSDL_ssss, név, ahol ssss a szolgáltatás neve, ahogyan az a definícióban szerepel a <webservice-description-name> elemben meghatározott szolgáltatás.
A szolgáltatásgenerálás célpontjai a következő nevet kapják, genService_pppp, ahol pppppp a port neve, ahogyan azt a elem <port-komponens-név> határozza meg.
IBM WebSphere Application Server Ant feladatai
A WebSphere(R) Application Server a java2wsdl és wsdl2java feladathoz hasonló
Ant feladatokat tartalmaz a JAX-RPC szolgáltatások számára szükséges műtermékek
előállításához. Az előállított Ant parancsfájl ezen feladatok
segítségével állítja össze a szolgáltatást.
A feladatokról a
WebSphere Application Server dokumentációjában talál további információkat.
Az Ant parancsfájl futtatása
Miután elkészítette a Ant szkriptet, tekintse meg a szkriptet, és szükség esetén adjon hozzá további testreszabásokat.
Tekintse meg az Alkalmazáskiszolgáló dokumentációját az IBM Ant feladatok további személyre szabásáról.
A parancsfájlt a WebSphere Application Server termék
részét képező Ant eszközökkel kell futtatni. Az IBM Ant parancsfájl
a következőből futtatható:
- Windows(R) operációs rendszereken: WAS_HOME\bin\ws_ant.bat
- UNIX(R) operációs rendszereken: WAS_HOME\bin\ws_ant.sh
Például: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
A Ant célprogramok futtatása után az előállított leletek a következő helyen találhatók a generációs mappában. A felhasználó ezután megvizsgálhatja a generált kódot és a telepítési leírókat, majd hozzáadhatja ezeket az artefaktumokat a saját moduljaihoz.
Ajánlás: JAX-WS-re való áttérés megfontolása
Ha a migrációs vagy modernizációs erőfeszítések részeként már változtatásokat hajt végre a JAX-RPC webszolgáltatásokon, erősen javasoljuk, hogy vizsgálja meg az áttérést a JAX-WS ( Java API for XML Web Services).
A JAX-WS a JAX-RPC utódja, és számos előnyt kínál:
- Modern API kialakítás a megjegyzések jobb támogatásával és az integrációval a Java EE
- Javított interoperabilitás más webes szolgáltatási keretrendszerekkel és szabványokkal
- Jobb eszközök és támogatás a modern alkalmazáskiszolgálókban és IDE-kben
- Hosszú távú életképesség, mivel a JAX-RPC örökölt technológiának számít
A JAX-WS-re való áttérés most csökkentheti a jövőbeli technikai adósságot, és összehangolhatja az alkalmazást a jelenlegi Java webszolgáltatási szabványokkal.
A JAX-RPC-ről a JAX-WS-re történő áttéréssel kapcsolatos útmutatást a Webszolgáltatások migrációs forgatókönyvek: JAX-RPC-ről JAX-WS-re és JAXB dokumentáció.