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.
Soluzione manuale
Per generare servizi web JAX-RPC basati sui descrittori di distribuzione dei servizi web WebLogic J2EE, è necessario creare manualmente uno script Ant utilizzando task specifici IBM® Ant compiti specifici. Lo script deve essere aggiunto alla cartella principale del progetto se non esiste già un file generato da IBM Ant. Questi compiti gestiscono la generazione dei servizi web JAX-RPC dai descrittori di distribuzione.
Proprietà della regola
È necessario fornire i valori corretti per le proprietà della regola per garantire risultati accurati durante l'analisi. Queste proprietà devono essere esaminate e configurate in modo appropriato in base al contesto dell'applicazione. Le proprietà di questa regola sono:
- Nome script Ant generato
:
Specifica il nome del nuovo script Ant generato deve essere un nome di file valido. Il valore non deve includere alcuna barra in avanti o indietro. Lo script si trova nella cartella principale 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 Enterprise JavaBeans (TM) (EJB), come definito nell'attributo path dell'elemento <ejb-link>, deve esistere nel progetto. La correzione automatica scansiona il file JAR EJB e genera una nuova classe Service Endpoint Interface (SEI) basata sulla classe remota EJB (SEI) basata sulla classe remota EJB.
Le interfacce SEI differiscono dalle interfacce remote EJB in quanto la classe deve estendere
java.rmi.Remote
e ogni metodo deve generare l'eccezione,
java.rmi.RemoteException
.
La correzione automatica utilizzerà la riflessione di Java sull'interfaccia remota dell'EJB per generare il nuovo SEI per generare il nuovo SEI .
Pertanto, assicurarsi che il percorso di classe del progetto Eclipse includa tutte le classi, i file JAR e le directory necessarie a per caricare correttamente la classe remota EJB.
Il SEI deve essere generato nella cartella, sei, all'interno della della cartella di generazione, come fornito dall'utente nella regola il pacchetto SEI corrisponde al pacchetto dell'interfaccia remota EJB e il nome SEI sarà uguale a quello dell'interfaccia remota EJB eJB e il nome della SEI sarà lo stesso dell'interfaccia remota EJB con l'aggiunta della parola SEI. Inoltre, la nuova cartella SEI viene aggiunta al percorso delle classi del progetto viene aggiunta al percorso delle classi del progetto.
- Componenti classe Java:
Analogamente ai componenti EJB, la correzione automatica genererà un'interfaccia del punto finale del servizio dalla classe Java, definita nell'attributo <nome-classe>.
- Destinazioni Ant generate:
Lo script Ant generato contiene i target per generare il file WSDL e il servizio JAX-RPC in base alla nuova SEI che verrà creata verrà creato.
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 automatica non utilizzerà le informazioni fornite in altri elementi in altri elementi, come <handlers-chain>, <types>, <operazioni>, <sicurezza> 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.
Il target di generazione WSDL viene generato solo se non è possibile individuare 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
Una volta prodotto lo script Ant, visualizzarlo e 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.