Această regulă detectează prezenţa serviciilor web JAX-RPC pe baza următoarelor criterii:
- Prezenţa fişierului web-services.xml
- Prezenţa fişierului weblogic-webservices.xml şi
fişierului webservices.xml în acelaşi folder
Soluție manuală
Pentru a genera servicii web JAX-RPC bazate pe descriptori de implementare a serviciilor web WebLogic J2EE, trebuie să creați manual un script Ant utilizând anumite IBM® Ant sarcini specifice. Scriptul trebuie adăugat la folderul rădăcină al proiectului dacă nu există deja un fișier generat de IBM Ant. Aceste sarcini vor vor gestiona generarea serviciilor web JAX-RPC din descriptorii de implementare.
Proprietăţi regulă
Trebuie să furnizați valorile corecte pentru proprietățile regulii pentru a asigura rezultate exacte în timpul analizei. Aceste proprietăți trebuie revizuite și configurate corespunzător în funcție de contextul aplicației dumneavoastră. Proprietăţile pentru această regulă sunt:
- Nume script Ant generat
:
Specifică numele noului script Ant generat. Numele scriptului trebuie să fie un nume de fișier valid. Valoarea nu trebuie să includă nicio bară oblică înainte sau înapoi. Scriptul va fi în folderul rădăcină al proiectului.
Valoarea implicită: build-ibm-ws.xml
- Nume folder generare :
Specifică numele directorului în care se va află artefactele de generare. Valoarea nu trebuie să includă niciun fel de slash, înainte sau înapoi. Folderul de generare va fi folderul rădăcină al proiectului.
Valoarea implicită: ibm-ws-gen
Cale clasă Ant
Calea clasei Ant este calculată din proiectul Eclipse.
Este important să verificaţi că toate elementele care sunt necesare pentru compilare sunt în calea de clasă Eclipse.
Serviciile JAX-RPC care sunt definite în fişierul web-services.xml
Bazat pe informaţiile şi tipul de servicii definite în
web-services.xml, un script Ant,
şi posibil un cod Java suplimentar care reprezintă interfaţa de punct final sunt generate pentru a reproduce serviciul JAX-RPC.
- Componente suportate
Pot fi recunoscute şi convertite doar bean-urile enterprise de sesiune stateless (<stateless-ejb>) şi componentele Java(R) (<java-class>).
- Componente EJB stateless:
Fișierul JAR Enterprise JavaBeans (TM) (EJB), astfel cum este definit în atributul path al elementului <ejb-link>, trebuie să existe în proiect. Soluția automată va scanează fișierul EJB JAR și generează o nouă clasă Service Endpoint Interface (SEI) bazată pe clasa EJB la distanță.
Interfețele SEI diferă de interfețele EJB de la distanță în care clasa trebuie să se extindă
java.rmi.Remote
, și fiecare metodă trebuie să arunce excepția,
java.rmi.RemoteException
.
Soluția automată va utiliza Java reflecție pe interfața EJB pentru a genera noul SEI .
Prin urmare, asigurați-vă că classpath-ul proiectului Eclipse include toate clasele, fișierele JAR și directoarele necesare pentru a încărca cu succes clasa EJB la distanță.
SEI trebuie să fie generat în folderul sei, în interiorul folderul de generare, astfel cum este furnizat de utilizator în regula properties. Pachetul SEI se potrivește cu cel al interfeței la distanță EJB iar numele SEI va fi același cu cel al interfeței la distanță EJB cu cuvântul SEI adăugat. În plus, noul folder SEI este adăugat la calea clasei proiectului.
- Componente clasă Java:
La fel ca în cazul componentelor EJB, soluția automată va genera o interfață Service Endpoint din clasa Java care este definită în atributul <class-name>.
- Ţinte Ant generate:
Scriptul Ant generat conține obiective pentru a genera fișierul WSDL și serviciul JAX-RPC pe baza noului SEI care va fi creat.
Ţinta de generare WSDL va avea numele, genWSDL_ssss, unde ssss
este numele serviciului JAX-RPC care a fost furnizat în câmpul de
atribut name al elementului <web-service>.
Ţintele de generare servicii au numele,
genService_pppp, unde pppp este numele componentei din atributul name
al elementului <stateless-ejb> sau
<java-class>.
Soluția automată nu va utiliza informațiile furnizate în alte elemente, cum ar fi <handlers-chain>, <types>, <operations>, <security> și așa mai departe.
Serviciile JAXRPC definite în fişierul webservices.xml
Bazat pe informaţiile şi tipurile de servicii definite în fişierul
webservices.xml este generat un script Ant pentru a reproduce serviciul JAX-RPC.
- Ţinte Ant generate:
Scriptul Ant generat conţine ţinte de generat fişierul WSDL şi serviciul JAX-RPC.
Ținta de generare WSDL este generată numai dacă nu puteți localiza fișierul WSDL definit în elementul, <wsdl-file>.
Dacă este creată, ţinta de generare WSDL are numele, genWSDL_ssss,
unde ssss este numele serviciului aşa cum este definit în
elementul <webservice-description-name>.
Ţintele de generare servicii vor avea numele,
genService_pppp, unde pppp este numele portului aşa cum este definit de elementul <port-component-name>.
Taskuri Ant IBM WebSphere Application Server
WebSphere(R) Application Server include taskuri Ant cum ar fi java2wsdl
şi wsdl2java pentru generarea artefactelor necesare pentru serviciile JAX-RPC.
Scriptul Ant generat utilizează aceste taskuri pentru a construi serviciul.
Informații suplimentare cu privire la aceste taskuri pot fi obținute din
documentația WebSphere Application Server.
Rulare script Ant
După ce ați creat scriptul Ant, vizualizați scriptul și adăugați personalizări suplimentare, dacă este necesar.
Consultați documentația serverului de aplicații privind personalizările suplimentare pentru taskurile IBM Ant.
Trebuie să rulați scriptul utilizând uneltele Ant
care sunt incluse în WebSphere Application Server. Scriptul IBM Ant
poate fi rulat de la:
- WAS_HOME\bin\ws_ant.bat pe sistemele de operare Windows(R)
- WAS_HOME\bin\ws_ant.sh pe sistemele de operare UNIX(R)
Exemplu: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
După ce ţintele Ant sunt rulate artefactele se găsesc în folderul de generare. Utilizatorul poate apoi să inspecteze codul generat şi descriptorii de implementare, apoi să adauge aceste artefacte la modulele lor.