We are generating java with wsdl2java from third party WSDL (means we cant modify him). WSDL contain:
<wsdl:import namespace="http://somenamespace" location="xsdschema.xsd" />
In this xsdschema are elements with nillable="true" and generator reports conflicts (duplications) in ObjectFactory. We try to use binding generateElementProperty="false". But in binding definition that is defined for WSDL, generator ignores it, and when defining bindings for xsd WSDL2Java said, that the XSD is not part of compilation. How to solve it?
XJB for WSDL (generateElementProperty is ignored - still duplication error in ObjectFactory):
<jaxws:bindings version="2.0"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
wsdlLocation="wsdl3rd.wsdl">
<jaxb:bindings>
<jaxb:globalBindings generateElementProperty="false"/>
</jaxb:bindings>
</jaxws:bindings>
XJB for XSD (error: XSD is not part of compilation):
<jxb:bindings version="2.1" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings schemaLocation="xsdschema.xsd">
<jxb:bindings>
<jxb:globalBindings generateElementProperty="false"/>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>
Maven:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<goals>
<goal>wsdl2java</goal>
</goals>
<configuration>
<wsdlRoot>src/main/resources/wsdl</wsdlRoot>
<defaultOptions>
<bindingFiles>bindingFile>bindingFile.xjb</bindingFile>
</bindingFiles>
</defaultOptions>
</configuration>
</execution>
</executions>
</plugin>