Accesso a servizi Web identici utilizzando lo stesso client
Domanda
Ho alcuni servizi Web e sto creando un client Web utilizzando ws-import.
Durante la creazione del client ho questa riga:
MyServiceService service = new MyServiceService();
Funziona bene così com'è.
Ho lo stesso servizio Web in esecuzione su un altro server e mi chiedevo se potevo accedervi utilizzando lo stesso client.È possibile modificare l'URL wsdl del client?Ctrl-Space in Eclipse mi fornisce 2 parametri che posso inserire in MyServiceService che sono URL arg0 e Qname arg1.E' questo quello che sto cercando?E se questo è il caso, cosa dovrei inserire Qname poiché non ho trovato alcun Javadoc associato e non l'ho trovato nemmeno su Google
Grazie e saluti, krt_malta
Soluzione
Si, puoi fare questo.Come sospettavi, devi utilizzare il costruttore con questa firma che viene generato nella tua classe di servizio.Come puoi vedere, sono necessari due argomenti:un QName e un URL.
Il QName è un po' complicato da determinare.Devi guardare il codice sorgente generato per il costruttore no-arg della tua classe di servizio (e l'attributo @Service sulla classe).Se lo fai, dovresti essere in grado di capire quale QName utilizza il costruttore no-arg.Costruisci semplicemente un QName con gli stessi valori e usalo.
L'URL è semplice:usa semplicemente l'URL wsdl a cui desideri accedere.