Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-8838

Regression in cxf-codegen-plugin wsdl2java 4.0.0

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 4.0.0
    • 4.0.1
    • Tooling
    • None
    • Unknown

    Description

      When trying to generate Java source code using wsdl2java from cxf-codegen-plugin 4.0.0, the generation fails if there are element names that differs only in underscore `_` character.

       

      Attached is the minimal test.zip project that demonstrates the issue.

      In the attached wsdl file there are two elements that differ only in underscore in the name:

      <xsd:element name="LOGNO" type="tns:char20" />
      <xsd:element name="LOG_NO" type="tns:char20" /> 

      When run using the 4.0.0 version of the plugin, building gives the error "Two declarations cause a collision in the ObjectFactory class.". Exeprpt from the build log:

      [WARNING] Exception in thread "main" org.apache.cxf.tools.common.ToolException: file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [896,16]: Two declarations cause a collision in the ObjectFactory class.
      [WARNING] file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [919,16]: (Related to above error) This is the other declaration.
      [WARNING] file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [878,16]: Two declarations cause a collision in the ObjectFactory class.
      [WARNING] file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [1006,16]: (Related to above error) This is the other declaration.
      [WARNING] file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [879,16]: Two declarations cause a collision in the ObjectFactory class.
      [WARNING] file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [1007,16]: (Related to above error) This is the other declaration.
      [WARNING]
      [WARNING]       at org.apache.cxf.tools.common.ToolErrorListener.throwToolException(ToolErrorListener.java:87)
      [WARNING]       at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:158)
      [WARNING]       at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:402)
      [WARNING]       at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105)
      [WARNING]       at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
      [WARNING]       at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
      [WARNING]       at org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java.main(ForkOnceWSDL2Java.java:51)
      [WARNING]       Suppressed: org.apache.cxf.tools.common.ToolException: file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [896,16]: Two declarations cause a collision in the ObjectFactory class.
      [WARNING]               ... 7 more
      [WARNING]       Caused by: com.sun.istack.SAXParseException2publicId: file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl; systemId: file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl; lineNumber: 896; columnNumber: 16; Two declarations cause a collision in the ObjectFactory class.
      [WARNING]               at com.sun.tools.xjc.ErrorReceiver.error(ErrorReceiver.java:56)
      [WARNING]               at com.sun.tools.xjc.generator.bean.ObjectFactoryGeneratorImpl.populate(ObjectFactoryGeneratorImpl.java:161)
      [WARNING]               at com.sun.tools.xjc.generator.bean.PublicObjectFactoryGenerator.populate(PublicObjectFactoryGenerator.java:29)
      [WARNING]               at com.sun.tools.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:242)
      [WARNING]               at com.sun.tools.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:141)
      [WARNING]               at com.sun.tools.xjc.model.Model.generateCode(Model.java:258)
      [WARNING]               at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:255)
      [WARNING]               at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:67)
      [WARNING]               at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:445)
      [WARNING]               at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:711)
      [WARNING]               at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:259)
      [WARNING]               at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:156)
      [WARNING]               ... 5 more
      [WARNING]       Suppressed: org.apache.cxf.tools.common.ToolException: file:/C:/src/is/wso2/AS/Libraries/TSS.IA.S4.Library/src/main/resources/wsdl/Z_BAPI_MATERIAL_GET_ALL.wsdl [919,16]: (Related to above error) This is the other declaration.
      [WARNING]               ... 7 more 

      When using the cxf-codegen-plugin version 3.5.5, code is generated properly:

      @XmlElement(name = "LOGNO", required = true)    protected String logno;
      @XmlElement(name = "LOG_NO", required = true)    protected String log_NO; 

      I tried playing with different options, specifying different parameters, but to no avail, I always get the error above.

      This is a blocker for me, since I can't use 3.5.5 version in 4.0.0 based project, since it generates code in the old javax instead jakarta namespace.

      Attachments

        1. test.zip
          2 kB
          Marko Kocic

        Activity

          People

            Unassigned Unassigned
            marko.kocic Marko Kocic
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: