Newsgroup: it.comp.java
Titolo: [WS] Leggere un DataSet

Salve,
sono alle prese con un problema credo discretamente comune ma del quale 
non ho trovato in rete "la soluzione definitiva".
Mi sto interfacciando da Java ad un webservice scritto in .NET, che 
restituisce a una chiamata un risultato di tipo DataSet.
Non trattandosi di un tipo di dato esattamente standard in soap non 
esiste un equivalente Java di tale oggetto e il WSDL2Java di axis mi 
lascia con un (a mio modo di vedere) inutilizzabile NomedelMetodo_Result.
Al momento non avendo trovato soluzioni migliori sto pensando di 
riscrivermi un deserializzatore apposito per parsare direttamente l'XML 
grezzo come serve a me. Mi piacerebbe sapere se qualcuno ha già 
affrontato questo problema e in che modo l'ha risolto.
Thanks
pole
PS: il codice del webservice in .NET non mi è purtroppo accessibile e 
non posso quindi applicarvi alcuna modifica (se non magari mandare un 
mail di ins... ehm congratulazioni agli sviluppatori :-))

 Salve,
[CUT]
Ciao pole.
Problema interessante, e soprattutto grande trovata quella di restituire un
tipo non standard. Ma come hai già sottolineato non puoi farci nulla ...
Posta nel NG o mandami per mail il WSDL del web service e la busta SOAP che
ti manda il web service in risposta ... non ti assicuro nulla ma provare a
dare un'occhiata non nuoce!
In ogni caso, se vuoi intraprendere la strada del parsing XML, non penso ci
sia bisogno di scrivere alcun deserializzatore, a quanto ho capito conosci
la struttura di tale "DataSet", dunque basta leggere la response SOAP e
trarne dai campi del body gli elementi di interesse, e questo puoi farlo
con un qualsiasi framework per la manipolazione XML.
Fammi sapere,
Saluti,
Sergio B.
-- 
Sergio Bossa
Author and Developer of:
- Montag, Web Services System for XML Database Interaction:
 
http://montag.sourceforge.net
- QuickNote:
 
http://quicknote.sourceforge.net

 trarne dai campi del body gli elementi di interesse, 
Il fatto è che vorrei continuare ad utilizzare lo stub per le chiamate 
(indubbiamente comodo), per cui pensavo di costruirmi un banale 
"convertitore" che a partire dall'oggetto spurio ottenuto in risposta ne 
tiri fuori un oggetto come serve a me, e continuare ad usare lo stub 
normalmente per tutto il resto.
Ma magari ciò che tu dici è ottenibie anche senza chiamare il webservice 
in modo dinamico (istanziando una call etc. ...), in tal caso son 
tutt'orecchi (o meglio occhi :P).
Altro dubbio che mi viene è se l'oggetto tirato su dallo stub (il famoso 
  NomedelMetodo_Result) contenga comunque tutti i dati necessari per 
poter svolgere l'operazione di serializzazione - deserializzazione che 
intendevo io.
 > e questo puoi farlo
 > con un qualsiasi framework per la manipolazione XML.
Beh sì, intendevo deserializzazione in senso lato, senza necessariamente 
utilizzare tool quali Jaxb et similia.
Grazie mille per la tua disponibilità e complimenti per i tuoi progetti 
opensource ;)
pole

 pole
-- 
.A
UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org
Read my blog at: 
http://blogs.ugidotnet.org/pape

 prego. spero solo di averti aiutato.
Sei stato chiarissimo, grazie :-)
pole

 opensource ;)
Grazie mille.
A tal riguardo, in "Montag" ho affrontato il problema della restituzione di
un tipo di dato composito (necessariamente comprensibile da client
eterogenei) utilizzando proprio l'XML, come ti suggerivo all'inizio ... dai
un'occhiata alla "Web Services Working Guide", se vuoi maggiori info.
Fammi (anzi facci) sapere come risolverai il tuo problema,
Alla prossima,


 monte solo che... Non lo fa praticamente nessuno :-/
Ciao Andrea,
ho letto con interesse il tuo intervento e le tue considerazioni.
Come alternativa all'utilizzo di XML Schema per la tipizzazione di dati
compositi, cosa ne pensi della formattazione di questi in un formato XML
apposito da restituire al client?
Thanks,
Un saluto,


 Alla prossima,
Ciao!
pole

 indicazioni.
In bocca al lupo allora, ci si risente!


 In bocca al lupo allora, ci si risente!
Crepi ;) e buon lavoro
pole