2012-02-25 10 views
6

Ho creato con successo il servizio Web . Testato e ottenendo anche il file WSDL. Il client che utilizzerà questo servizio Web è una semplice classe Java.Come creare un client Java per il servizio Web?

Sono in grado di creare un client jsp e chiamare i metodi del servizio Web. Ma ho bisogno di chiamare il servizio Web da una classe Java.

Come faccio a bind questo client Java con servizio Web?

I passi seguenti ho seguito in NetBeans per la creazione del client Java ...

  1. ho creato una semplice applicazione J2SE.
  2. Ha creato un client di servizio Web del servizio Web creato da me.
  3. Ricevo i riferimenti al servizio Web del mio WebService.

Ma non sono in grado di chiamare il metodo del servizio Web. Ecco il file client ...

package client_package; 
public class client { 

public static void main(String args[]) 
{ 
    System.out.println("1"); 
    System.out.println(hello("megha")); 
    System.out.println("2"); 
} 
private static String hello(String name) { 


    WS_package.WebService1 service = new WS_package.WebService1(); //package WS_package does not exists 
    WS_package.WebService1 port = service.getWebService1Port(); //package WS_package does not exists 


name = port.hello(name); 

return name; 
} 
} 
+0

Questo può aiutare (in generale): http://stackoverflow.com/questions/209385/java-webservice-client –

+1

Ottiene un'eccezione quando si esegue questo codice? In tal caso, possiamo vedere la traccia dello stack? –

+0

@MichaelRighi, sì, sto ricevendo un errore che il pacchetto WS_package non esiste. e quindi non sono in grado di usarne i metodi. la porta non viene creata e quindi il metodo 'port.hello (name)' non viene chiamato – jQueen

risposta

0

Si potrebbe provare Jersey e la sua Client API

+0

Ora sono in grado di associare il semplice client java al mio webservice. Entrambi risiedono su una singola macchina. cosa dovrei fare per legare – jQueen

2

Si potrebbe utilizzare wsimport strumento per generare un file di stub client, da linea di comando:

wsimport -keep http://localhost:8080/webservices/helloService?wsdl 

poi importa i file generati e usali come hai fatto sopra lo

HelloServiceImplService helloService = new HelloServiceImplService(); 
HelloService hello = helloService.getHelloServiceImplPort(); 

ci sono anche alcuni quadri arround di lavorare con Webservices, come Apache CXF e Apache Axis

Update: Proprio la sua notato una vecchia questione, se l'OP conosceva la risposta, si dovrebbe aggiornare l'argomento.