2012-08-31 7 views
7

ho una domanda per quanto riguarda la generazione di artefatti Java con lo strumento wsimport (da Maven JAX-WS)codice generato da wsimport - le migliori pratiche per l'imballaggio del codice

Quando ho generare i manufatti Java da WSDL, vorrei mettere in valigia il progetto di servizio web come file WAR e il suo client come file JAR.

Dove inserire gli artefatti generati e dove inserire il WSDL? Qual è la migliore pratica in merito all'organizzazione di progetti di servizi Web?

Grazie in anticipo!

Con i migliori saluti, Jurica Krizanic

risposta

3

saranno necessari i manufatti su entrambi i lati client e server in modo da confezionare in un terzo barattolo e impostarlo come una dipendenza per entrambi. I WSDL dovrebbero andare alla cartella WEB-INF della guerra e l'attributo wsdlLocation di @WebService e @WebServiceClient dovrebbe essere impostato per riflettere il percorso.

+0

Grazie per la risposta. Sai dove mettere WSDL all'interno di un file di guerra? Ho alcuni problemi di caricamento di wsdl ... –

+0

@JuricaKrizanic Modificato la mia risposta. – zeller

+0

Il codice generato da wsimport è lo stesso, che va dal lato server e dal lato client? –

1

Le opzioni di imballaggio per i servizi gestiti sono definite in JSR 109: Web Services for Java EE, Version 1.3.

Per i servizi: Modulo

5.4.2 EJB Imballaggio

... la posizione descrittore di deployment di servizi Web all'interno del file EJB-JAR è META-INF/webservices.xml. La directory wsdl si trova in META-INF/wsdl.

5.4.3 Web App Modulo Imballaggio

... un Web service descrittore di distribuzione si trova in una guerra a WEB-INF/webservices.xml e la directory wsdl si trova a WEB-INF/wsdl.

Per i clienti:

Un client può essere uno dei seguenti: client Java EE applicazione, componente Web, componenti EJB, o un altro servizio Web.

L'ubicazione del descrittore di distribuzione del client dei servizi Web nel modulo è specifica del modulo. I file WSDL si trovano rispetto alla radice del modulo e si trovano in genere nella directory wsdl che è co-ubicata con il descrittore di distribuzione del modulo o una sottodirectory di .

Si noti che questa specifica si limita ai client Java EE; ciò non significa che non è possibile avere un unmanaged client in cui si fornisce esplicitamente il WSDL.

Cross-riferimento a queste specifiche per maggiori dettagli:

Problemi correlati