2014-04-06 9 views
6

Ho cercato di scrivere un servizio web (JAX-WS) e ho passato attraverso una serie di tutorial che vanno 2006-2013 quelli. Molti di questi sono rispetto ad alcuni IDE. Quelli che parlano di creazione manuale/distribuzione di servizi Web sono con script di formiche. Fino a qui va tutto bene.apt vs wsgen vs wsimport .Confusion su cosa utilizzare quando e perché non usare l'altra

Nel momento in cui controllo gli script delle formiche, inizia la confusione. alcune vecchie esercitazioni utilizzano l'attività APT per compilare il SEI e quindi wsgen viene utilizzato per generare gli artefatti. quelli più recenti usano solo wsgen (sebbene APT sia definito come taskdef negli script delle formiche). Inoltre, come ho letto sulla documentazione di JAVA 7, si dice che non è necessario utilizzare wsgen come javac stesso fa tutte le compilazioni e il req artefatti. per WS è generato dinamicamente al runtime.

ho cercato di usare il comando javac su SEI e distribuito su Tomcat, ma non ha funzionato.

Qualcuno può chiarire come in quali comandi ho bisogno di utilizzare in Java SE 7 edizione di implementare un servizio web.

Inoltre, voglio sapere che cosa fa ogni comando generare e quando usare che comanda.

Secondo la mia conoscenza wsimport non è necessario per lo sviluppo e la distribuzione, ma solo bisogno di costruire il WS-client. È corretto? In caso contrario, forniscimi indicazioni per chiarire la mia comprensione.

Grazie in anticipo

Anche se io sono ripetere la mia auto, allora mi dispiace come io sono nuovo e non StackOverflow molto familiarità con questo. :)

risposta

9

di creare un servizio Web utilizzando la specifica Java-WS, avete bisogno di diversi manufatti. Lo scopo di "apt", "wsgen" e "wsimport" è di automatizzare questa procedura.

Esistono due modi per creare un servizio Web: dal basso verso l'alto (primo codice, quindi WSDL) e dall'alto verso il basso (prima WSDL quindi codice).

Bottom-Up approccio:

  • apt: utilizza il codice sorgente, genera WSDL (e manufatti)
  • wsgen: codice utilizza compilato, genera WSDL (e artefatti)

Top-Down

  • wsimport: utilizza WSDL, genera codice java per l'implementazione servizio/client.

Il vantaggio di usare apt è che avere il codice sorgente dello script sarà in grado di ottenere i nomi dei parametri e utilizzarli sul WSDL.

Web Service Deployment

Per la produzione si avrebbe bisogno di un contenitore web che può essere responsabile della sicurezza, Scalabilità e gestione delle risorse, tuttavia, a scopo di test è possibile distribuire i propri servizi Web utilizzando il built-in web server su Java SE facendo:

@WebService public class MyService{ 

    public static void main(String args[]){ 
     MyService service = new MyService(); 
     String url = "service/"; 
     Endpoint ep = new Endpoint(url, service); 
    } 


    @WebMethod 
    public String getInfo(){ 
     return "Service info"; 
    } 
} 

Questo pezzo di codice genererebbe il WSDL e pubblicare il servizio al vostro localhost/servizio.

+0

Grazie ... Questo mi dà un'idea di base per scrivere il servizio web conforme alle specifiche JAX-WS. Ora w.r.t apt e wsgen, devo usare uno di quelli esplicitamente/?? bcz Sono stato in grado di distribuire la classe Myservice senza nessuno di questi e ha funzionato bene ... –

+0

No, non lo fai. "Questo pezzo di codice genera il WSDL e pubblica il servizio sul tuo localhost/servizio". La classe Endpoint eseguirà wsgen per te. Se trovi utile questa risposta, seleziona "questa risposta è utile" o, ancora meglio, "accetta" la risposta. – FewDexter

Problemi correlati