Usa JAXWS enableWrapperStyle durante la generazione di sorgenti Java con XJC

Sto provando a generare sorgenti Java da XSD e devo disabilitare lo stile wrapper con JAXWS. Ho scritto il binding personalizzato ma sembra che JAXWS non funzioni con XJC. Il binding che uso è piuttosto semplice.

   false   

Se sto cercando di eseguire lo script ant, ricevo i seguenti messaggi di errore.

  [xjc] [ERROR] Unsupported binding namespace "http://java.sun.com/xml/ns/jaxws". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"? [xjc] line 2 of file:/D:/xxxxxxxxxx/xxxxx/xxxx.xsd [xjc] [ERROR] cvc-complex-type.2.4.a: Invalid content was found starting with element 'jaxws:enableWrapperStyle'. One of '{"http://java.sun.com/xml/ns/jaxb":javaType, "http://java.sun.com/xml/ns/jaxb":serializable, "http://java.sun.com/xml/ns/jaxb/xjc":serializable, "http://java.sun.com/xml/ns/jaxb/xjc":superClass, "http://java.sun.com/xml/ns/jaxb/xjc":superInterface, "http://java.sun.com/xml/ns/jaxb/xjc":typeSubstitution, "http://java.sun.com/xml/ns/jaxb/xjc":smartWildcardDefaultBinding, "http://java.sun.com/xml/ns/jaxb/xjc":simple, "http://java.sun.com/xml/ns/jaxb/xjc":treatRestrictionLikeNewType, "http://java.sun.com/xml/ns/jaxb/xjc":javaType, "http://java.sun.com/xml/ns/jaxb/xjc":generateElementProperty, "http://java.sun.com/xml/ns/jaxb/xjc":noMarshaller, "http://java.sun.com/xml/ns/jaxb/xjc":noUnmarshaller, "http://java.sun.com/xml/ns/jaxb/xjc":noValidator, "http://java.sun.com/xml/ns/jaxb/xjc":noValidatingUnmarshaller}' is expected. [xjc] line 8 of file:/D:/xxxxxxxxxx/xxxxx/xxxx/xsd/xsd-binding.xml 

Ho già provato a utilizzare solo jaxws, ma XJC estingue JAXB come associazione principale. Con questo legame:

  false     

Sto ottenendo l’errore:

 [xjc] [ERROR] not an external binding file. The root element must be {http://java.sun.com/xml/ns/jaxb}bindings but it is {http://java.sun.com/xml/ns/jaxws}bindings [xjc] line ? of file:/D:/xxxxxx/xsd-binding.xml [xjc] [ERROR] Unexpected  appears at line 4 column 61 [xjc] line 4 of file:/D:/xxxxxx/xsd-binding.xml 

È ansible utilizzare jaxws:enableWrapperStyle all’interno di jaxb? Se sì, cosa ho trascurato? Grazie in anticipo!

Ho trovato la soluzione. L’elemento JAXWS deve essere all’interno dell’elemento JAXB e deve essere dichiarato come segue:

    false      

Hai lo spazio dei nomi jaxws aggiunto due volte nell’esempio sopra

  xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns="http://java.sun.com/xml/ns/jaxws" 

Rimuovi il secondo:

  xmlns="http://java.sun.com/xml/ns/jaxws" <--REMOVE THIS