Current 1.7.0 snapshot generates incompilable Java code from complex WSDL
-------------------------------------------------------------------------

                 Key: AXIS2-5007
                 URL: https://issues.apache.org/jira/browse/AXIS2-5007
             Project: Axis2
          Issue Type: Bug
          Components: codegen
    Affects Versions: 1.7.0
            Reporter: Harald Rieder


Java code is generated from WSDL (see attachment) like shown in these Ant tasks:
{noformat}
                <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="false" 
dir="${basedir}">
                        <classpath refid="axis2.classpath" />
                        <arg value="-S" />
                        <arg value="source" />
                        <arg value="-uri" />
                        <!-- file URI should not contain spaces, Axis2 would 
fail: -->
                        <arg 
value="file:///${basedir}/WebContent/WEB-INF/wsdl/TCS_for_LTU_service.wsdl" />
                        <!-- synchronous only : -->
                        <arg value="-s" />
                        <!-- generate test client code: -->
                        <arg value="-t" />
                        <!-- do not destroy any present build.xml: -->
                        <arg value="--noBuildXML" />
                        <!-- generate the java stubs always freshly: -->
                        <arg value="-or" />
                        <!-- build a server -->
                        <arg value="-ss" />
                        <arg value="-p" />
                        <arg value="com.danet.epm.tcs.generated" />
                        <arg value="-R" />
                        <arg value="WebContent/WEB-INF/services/ltu/META-INF" />
                        <arg value="-sd" />
                </java>
                <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true" 
dir="${basedir}">
                        <classpath refid="axis2.classpath" />
                        <arg value="-S" />
                        <arg value="source" />
                        <arg value="-uri" />
                        <arg 
value="file:///${basedir}/WebContent/WEB-INF/wsdl/TCS_for_Weather_service.wsdl" 
/>
                        <arg value="-s" />
                        <arg value="-t" />
                        <arg value="--noBuildXML" />
                        <arg value="-or" />
                        <arg value="-ss" />
                        <arg value="-p" />
                        <arg value="com.danet.epm.tcs.generated" />
                        <arg value="-R" />
                        <arg 
value="WebContent/WEB-INF/services/weather/META-INF" />
                        <arg value="-sd" />
                </java>
                <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true" 
dir="${basedir}">
                        <classpath refid="axis2.classpath" />
                        <arg value="-S" />
                        <arg value="source" />
                        <arg value="-uri" />
                        <arg 
value="file:///${basedir}/WebContent/WEB-INF/wsdl/TCS_for_TLS_service.wsdl" />
                        <arg value="-s" />
                        <arg value="-t" />
                        <arg value="--noBuildXML" />
                        <arg value="-or" />
                        <arg value="-ss" />
                        <arg value="-p" />
                        <arg value="com.danet.epm.tcs.generated" />
                        <arg value="-R" />
                        <arg value="WebContent/WEB-INF/services/tls/META-INF" />
                        <arg value="-sd" />
                </java>
                <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true" 
dir="${basedir}">
                        <classpath refid="axis2.classpath" />
                        <arg value="-S" />
                        <arg value="source" />
                        <arg value="-uri" />
                        <arg 
value="file:///${basedir}/WebContent/WEB-INF/wsdl/LTU_for_TCS_service.wsdl" />
                        <arg value="-s" />
                        <arg value="-t" />
                        <arg value="--noBuildXML" />
                        <arg value="-or" />
                        <arg value="-ss" />
                        <arg value="-p" />
                        <arg value="com.danet.epm.tcs.generated" />
                        <arg value="-R" />
                        <arg 
value="WebContent/WEB-INF/services/ltusim/META-INF" />
                        <arg value="-sd" />
                </java>
                <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true" 
dir="${basedir}">
                        <classpath refid="axis2.classpath" />
                        <arg value="-S" />
                        <arg value="source" />
                        <arg value="-uri" />
                        <arg 
value="file:///${basedir}/WebContent/WEB-INF/wsdl/Weather_for_TCS_service.wsdl" 
/>
                        <arg value="-s" />
                        <arg value="-t" />
                        <arg value="--noBuildXML" />
                        <arg value="-or" />
                        <arg value="-ss" />
                        <arg value="-p" />
                        <arg value="com.danet.epm.tcs.generated" />
                        <arg value="-R" />
                        <arg 
value="WebContent/WEB-INF/services/weathersim/META-INF" />
                        <arg value="-sd" />
                </java>
{noformat}
The generated Java code has these errors:
{noformat}
Buildfile: D:\HR09044\EPMWeblogicADF11\TCSWebService\projectBuilder.xml
build:
    [javac] Compiling 118 source files to 
D:\HR09044\EPMWeblogicADF11\TCSWebService\WebContent\WEB-INF\classes
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\devoteam\wsdl\tls2002\UnsignedInt3.java:52:
 cannot find symbol
    [javac] symbol  : method 
compare(org.apache.axis2.databinding.types.UnsignedInt,java.lang.String)
    [javac] location: class org.apache.axis2.databinding.utils.ConverterUtil
    [javac]                                                 if 
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "7") <= 0){
    [javac]                                                                     
                                ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\devoteam\wsdl\tls2002\UnsignedInt24.java:52:
 cannot find symbol
    [javac] symbol  : method 
compare(org.apache.axis2.databinding.types.UnsignedInt,java.lang.String)
    [javac] location: class org.apache.axis2.databinding.utils.ConverterUtil
    [javac]                                                 if 
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "4095") <= 0){
    [javac]                                                                     
                                ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\devoteam\wsdl\tls2002\OSI7_Funktionsgruppe.java:52:
 cannot find symbol
    [javac] symbol  : method 
compare(org.apache.axis2.databinding.types.UnsignedByte,java.lang.String)
    [javac] location: class org.apache.axis2.databinding.utils.ConverterUtil
    [javac]                                                 if 
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "254") <= 0){
    [javac]                                                                     
                                ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\devoteam\wsdl\tls2002\OSI7_Funktionsgruppe.java:59:
 cannot find symbol
    [javac] symbol  : method 
compare(org.apache.axis2.databinding.types.UnsignedByte,java.lang.String)
    [javac] location: class org.apache.axis2.databinding.utils.ConverterUtil
    [javac]                                                 if 
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "1") >= 0){
    [javac]                                                                     
                                ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\devoteam\wsdl\tls2002\OSI7_AnwendungsID.java:52:
 cannot find symbol
    [javac] symbol  : method 
compare(org.apache.axis2.databinding.types.UnsignedByte,java.lang.String)
    [javac] location: class org.apache.axis2.databinding.utils.ConverterUtil
    [javac]                                                 if 
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "127") <= 0){
    [javac]                                                                     
                                ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\devoteam\wsdl\tls2002\OSI7_AnwendungsID.java:59:
 cannot find symbol
    [javac] symbol  : method 
compare(org.apache.axis2.databinding.types.UnsignedByte,java.lang.String)
    [javac] location: class org.apache.axis2.databinding.utils.ConverterUtil
    [javac]                                                 if 
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "1") >= 0){
    [javac]                                                                     
                                ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\devoteam\wsdl\tls2002\OSI7_DETyp.java:52:
 cannot find symbol
    [javac] symbol  : method 
compare(org.apache.axis2.databinding.types.UnsignedByte,java.lang.String)
    [javac] location: class org.apache.axis2.databinding.utils.ConverterUtil
    [javac]                                                 if 
(org.apache.axis2.databinding.utils.ConverterUtil.compare(param, "1") >= 0){
    [javac]                                                                     
                                ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\opel\schema\epm\weather_tcs\WeatherLTUState.java:309:
 cannot find symbol
    [javac] symbol  : method 
serialize(javax.xml.namespace.QName,javax.xml.stream.XMLStreamWriter)
    [javac] location: interface org.apache.axiom.om.OMElement
    [javac]                                            
localDeviceState.serialize(new javax.xml.namespace.QName("","deviceState"),
    [javac]                                                            ^
    [javac] 
D:\HR09044\EPMWeblogicADF11\TCSWebService\source\com\opel\schema\epm\weather_tcs\WeatherLTUState.java:695:
 cannot find symbol
    [javac] symbol  : variable Factory
    [javac] location: interface org.apache.axiom.om.OMElement
    [javac]                                                 
object.setDeviceState(org.apache.axiom.om.OMElement.Factory.parse(reader));
    [javac]                                                                     
                               ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 9 errors
{noformat}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to