Description
Steps to Reproduce:
Run wsdl2java on a WSDL with the following XSD element, then compile:
<xsd:simpleType name="system"><xsd:restriction base="xsd:string"><xsd:enumeration value="A"/><xsd:enumeration value="B"/><xsd:enumeration value="C"/><xsd:enumeration value="D"/><xsd:enumeration value="E"/></xsd:restriction></xsd:simpleType>
Error Result:
Compilation warning of "no symbol found" for currentTimeMillis()
Suspected Reason:
The .wsdl file defines a Type named "System", which the generator creates a class for in the Stub. The unqualified reference (in getUniqueSuffix) to java's built System class conflicts.
Proposed Fix:
Change the reference to "System" in the method getUniqueSuffix in generated Stub to fully qualified "java.lang.System"
private static synchronized java.lang.String getUniqueSuffix(){
// reset the counter if it is greater than 99999
if (counter > 99999)
counter = counter + 1;
return java.lang.Long.toString(System.currentTimeMillis()) + "_" + counter;
}