salve, ho un progetto eclipse composto da due package, in particolare così fatto:
Progetto
|-Package 1 -> classe 1 (servlet filter)
|-Package 2 -> classe 2 , classe 3
la classe 1 è un servlet filter che all'intercettazione di determinati eventi, richiama i metodi della classe 2 del secondo package (che a sua volta fa uso dei metodi della classe 3).
Il tutto come unico progetto funziona perfettamente integrando le classi all'interno di una web application (lenya, un cms della apache).
Appurato il funzionamento, adesso ho la necessità di modificare la struttura dell'intero progetto "spezzandolo" in due progetti diversi (ognuno per i due package) ed in particolare m'interessa che il Package 2 diventi un web service pubblicando i metodi della classe 2.
il package 1 di contro diventerà il client (situato sempre dentro il cms della apache) che richiamerà quei metodi sempre quando il filter intercetta determinate operazioni.
Questo è l'obiettivo, quello che ho fatto con eclipse è:
- ho creato i due progetti e per ognuno ho copiato il package relativo
- ho selezionato la classe 2 e creato il web service specificando i metodi da pubblicare
- ho copiato le classi del secondo progetto sotto axis
- ho compilato con l'opzione AdminClient il file di deploy.wsdd
(ed axis visualizza correttamente i metodi nella lista)
- dal file wsdl ho generato il client copiando tutte le classi nel progetto 1 e dal filter non richiamo più il costruttore della classe 2 ma istanzio la classe NOMECLASSEProxy generata automaticamente.
con quest'operazione, mettendo i .class (di filter e client) del progetto 1 sotto il cms, il filter filtra normalmente, ma al momento di richiamare i metodi del web service è come se non facesse nulla e non ho modo di debuggare che succede (il tutto, essendoci quel cms di mezzo, è in esecuzione fuori da eclipse).
sbaglio qualcosa nei passi descritti?
ps: ho saltato la generazione dello skeleton (che in realtà non so di preciso a che serva), sta qui il problema? i metodi del web service accettano string come parametri, non oggetti complessi.

Rispondi quotando