PDA

View Full Version : [Java] Consiglio libreria per gestione SOAP/WSDL


shinya
08-04-2008, 09:35
Nello specifico, io ho bisogno di fare questa serie di operazioni:


l'utente mi da l'uri del wsdl
io devo ispezionare il wsdl, determinando le operazioni disponibili, i parametri, ecc... insomma, che cosa mi permette di fare.
fatto questo, chiedo all'utente il nome di un'operazione tra quelle disponibili (con relativi parametri) e invoco il web service.
infine, visualizzo il risultato in qualche modo.


Ora, di tutte le librerie che ho visto in giro, nessuna sembra permettermi di invocare un web service dinamicamente e/o di capire quello che il web service mi permette di invocare. Tutte hanno un approccio a stub, dove mi tocca generare codice PRIMA, e questo non mi sta bene.

Insomma, alla fin fine, è un client dinamico... sono scemo io che non trovo niente, o è cosi difficile avere una libreria che mi permetta di fare quanto sopra?

tomminno
08-04-2008, 09:58
Nello specifico, io ho bisogno di fare questa serie di operazioni:


l'utente mi da l'uri del wsdl
io devo ispezionare il wsdl, determinando le operazioni disponibili, i parametri, ecc... insomma, che cosa mi permette di fare.
fatto questo, chiedo all'utente il nome di un'operazione tra quelle disponibili (con relativi parametri) e invoco il web service.
infine, visualizzo il risultato in qualche modo.



E' praticamente quello che puoi fare con un browser in locale sulla macchine dove è installato il webservice, solo che è possibile farlo se il metodo ritorna dei tipi base.


Ora, di tutte le librerie che ho visto in giro, nessuna sembra permettermi di invocare un web service dinamicamente e/o di capire quello che il web service mi permette di invocare. Tutte hanno un approccio a stub, dove mi tocca generare codice PRIMA, e questo non mi sta bene.

Insomma, alla fin fine, è un client dinamico... sono scemo io che non trovo niente, o è cosi difficile avere una libreria che mi permetta di fare quanto sopra?

E penso che non ne troverai, ma puoi benissimo scrivertela.
Parserizzi il wsdl per ricavare i metodi esposti e poi generi una richiesta soap (oppure post o get se supportati) verso il ws.

shinya
08-04-2008, 12:52
E penso che non ne troverai, ma puoi benissimo scrivertela.
Parserizzi il wsdl per ricavare i metodi esposti e poi generi una richiesta soap (oppure post o get se supportati) verso il ws.

Eh!? Ma è una cosa tanto marziana voler ispezionare un web-service a runtime?
Comunque qualcosa ho trovato. Apache CXF è un progetto recente per consumare/creare web service in java, e pare che possa creare client dinamici.

http://cwiki.apache.org/CXF20DOC/dynamic-clients.html

Però non ho ancora capito se permette anche di effettuare quella sorta di reflection sul service che mi serve...

Qualcuno ha mai usato questa libreria?

shinya
09-04-2008, 10:26
up! :fagiano: