Questa regola rileva la presenza di servizi Web
JAX-RPC in base ai seguenti criteri:
- La presenza del file web-services.xml
- La presenza del file weblogic-webservices.xml e del file webservices.xml nella stessa cartella.
Correzione rapida
Nello scanner origine questa regola produce uno script ANT con attività specifiche di IBM(R) Ant. Tali
attività generano servizi Web JAX-RPC basati sui descrittore di
distribuzione del servizio Web J2EE WebLogic. La correzione rapida effettua la scansione dei descrittori di distribuzione dei servizi web e produce uno script Ant in assenza di un file generato da IBM Ant nella cartella root del prodotto. Lo script contiene attività
IBM Ant per generare i servizi Web JAX-RPC.
Proprietà della regola
È necessario fornire i valori corretti per le proprietà della regola. Per
modificare i valori delle proprietà per questa regola, selezionare la regola
nella finestra Configurazioni programma di analisi software. Quindi utilizzare i
campi presenti nella scheda Proprietà. Le proprietà di questa regola sono:
- Nome script Ant generato
:
Specifica il nome del nuovo script Ant da generare. Il nome dello script deve essere un nome file valido. Il valore non deve includere barre o barre retroverse. Lo script generato verrà memorizzato nella cartella root del progetto.
Valore predefinito: build-ibm-ws.xml
- Nome cartella di generazione:
Specifica il nome della cartella in cui saranno presenti le risorse di
generazione. Il valore non deve includere barre o barre retroverse. La cartella di generazione sarà nella cartella root del progetto.
Valore predefinito: ibm-ws-gen
Percorso classe Ant
Il percorso classe Ant viene calcolato dal progetto Eclipse.
È importante verificare che tutti gli elementi necessari per la compilazione
siano nel percorso classe Eclipse.
Servizi JAX-RPC definiti nel file
web-services.xml
In base alle informazioni ed al tipo di servizi definiti nel file
web-services.xml, viene generato uno script
Ant e possibilmente ulteriore codice Java che rappresenta l'interfaccia
dell'endpoint del servizio Web per riprodurre il servizio JAX-RPC.
- Componenti supportati
È possibile riconoscere e convertire solo bean enterprise di sessione
stateless (<stateless-ejb>)
e Java(R) (<java-class>).
- Componenti EJB stateless:
Il file JAR EJB (Enterprise JavaBeans(TM)), come definito nell'attributo path
dell'elemento
<ejb-link>, deve esistere nel progetto. La correzione rapida esegue la scansione del file JAR EJB e genera una nuova
classe SEI (Service Endpoint Interface) in base alla classe remota EJB.
Le interfacce SEI sono differenti dalle interfacce remote
EJB per il fatto che la classe deve estendere
java.rmi.Remote e ciascun metodo deve generare
l'eccezione java.rmi.RemoteException.
La correzione rapida utilizza la reflection Java sull'interfaccia remota
EJB per generare la nuova SEI. Quini, il percorso della classe del
progetto Eclipse deve essere impostato con tutte le necessarie classi, file
JAR, cartelle e così via per consentire alla correzione rapida di caricare
correttamente la classe remota EJB.
L'interfaccia SEI viene generata nella cartella sei all'interno della
cartella di generazione, come indicato dall'utente nelle proprietà della
regola. Il package SEI corrisponde al package dell'interfaccia remota EJB ed
il nome SEI sarà uguale al nome dell'interfaccia remota EJB a cui viene
accodata la parola SEI. Inoltre, la nuova cartella SEI viene aggiunto al percorso
classe del progetto.
- Componenti classe Java:
Come per i componenti EJB, la correzione rapida genera una SEI dalla classe
Java definita nell'attributo <class-name>.
- Destinazioni Ant generate:
Lo script Ant generato contiene destinazioni per generare il file WSDL ed il
servizio JAX-RPC in base alla nuova SEI creata durante la correzione rapida.
La destinazione di generazione WSDL sarà denominata
genWSDL_ssss, dove ssss è il nome del servizio JAX-RPC
fornito nel campo dell'attributo name dell'elemento
<web-service>.
Le destinazioni di generazione del servizio hanno il nome genService_pppp,
dove
pppp è il nome del componente dall'attributo
name dell'elemento
<stateless-ejb> or <java-class>.
La correzione rapida non utilizza le informazioni fornite in altri elementi,
come <handlers-chain>, <types>,
<operations>, <security> e così via.
Servizi JAXRPC definiti nel file
webservices.xml
In base alle informazioni ed al tipo di servizi definiti nel file
webservices.xml, viene generato uno script Ant
per riprodurre il servizio
JAX-RPC.
- Destinazioni Ant generate:
Lo script Ant generato contiene destinazioni per generare un file WSDL e il
servizio JAX-RPC.
La destinazione di generazione WSDL viene generata solo se la correzione
rapida non è in grado di trovare il file WSDL come definito nell'elemento
<wsdl-file>.
Se creata, la destinazione di generazione WSDL è denominata genWSDL_ssss,
dove ssss è il nome del servizio come definito nell'elemento
<webservice-description-name>.
Le destinazioni di generazione del servizio saranno denominate
genService_pppp, dove pppp è il nome della porta come definito
dall'elemento <port-component-name>.
Attività Ant IBM WebSphere Application
Server
WebSphere(R) Application Server comprende attività Ant come
java2wsdl e wsdl2java per generare le risorse necessarie per i servizi JAX-RPC. Lo script Ant generato utilizza tali attività per creare il servizio.
Ulteriori informazioni su queste attività possono essere ottenute dalla documentazione di
WebSphere Application Server.
Esecuzione dello script Ant
Dopo che la correzione rapida ha prodotto lo script Ant, visualizzarlo ed
aggiungere ulteriori personalizzazioni, se necessario.
Consultare la documentazione di Application Server per le ulteriori personalizzazioni per le attività IBM Ant.
È necessario eseguire lo script utilizzando gli strumenti Ant
che sono inclusi con WebSphere Application Server. Lo script IBM Ant
può essere eseguito da:
- WAS_HOME\bin\ws_ant.bat su sistemi operativi
Windows(R)
- WAS_HOME\bin\ws_ant.sh su sistemi operativi
UNIX(R)
Esempio: c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
Una volta eseguite le destinazioni Ant, le risorse prodotte risiedono nella
cartella di generazione. L'utente può quindi analizzare i descrittori di distribuzione ed il
codice generato e quindi aggiungere tali risorse ai propri moduli.