venerdì 9 gennaio 2015

JAX-WS generare WSDL con xsd interni al WSDL

Di default JAX-WS genera l'xsd in un file esterno che poi è referenziato all'interno della sezione types del WSDL generato.
Questa opzione è sicuramente più corretta e rende migliore la lettura del WSDL ma può capitare di volere l'opzione opposta, ossia un WSDL contenente anche gli xsd.
A quanto ho visto qui fino alla versione 2.1 di JAX-WS non era possibile avere questo risultato (nb. la versione 2.1 è quella utilizzata di default da JAVA 1.6).
Dalla jax-ws 2.2 è finalmente possibile con il comando wsgen utilizzando l'opzione inlineSchemas in questo modo

wsgen -Xendorsed -verbose -inlineSchemas   -keep -cp .  it.myclass.MyService -wsdl
 

Tuttavia non sono riuscito a trovare un modo di avere lo stesso risultato deployando il web service su un Application Server.
Anche usando JAX.WS. versione 2.2 non trovo via codice un modo di forzare la generazione del servizio con xsd esterno.

Nessun commento:

Posta un commento