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
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.
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