Sure. Please submit a patch thanks, dims
On 5/10/06, Remy Bertrand <[EMAIL PROTECTED]> wrote:
When WSDL contains <xsd:extension> in type definitions, wsdl2java can generate non compilable code. I have identified 2 cases of non compilable code : - Generated class don't extends anything, but a constructor calling super(...) is generated (in this case super refer to java.lang.Object). - Generated class don't extends anything, a constructor initializing each attribute is generated, but attribute name is replaced by "paramx". I wrote the attached wsdl that reproduce the two cases. Please focus on the schema part only, rest of the file is a poor cut and paste. After looking in the code (wsdl/toJava/JavaBeanWriter.java), my understanding is that tests to decide if a class extends another or not (and thus what constructor(s) must be outputted) are not coherent. - In method writeFullConstructor(), a test type.isSimpleType() is done to check if constructor must be written. - In method writeSimpleConstructors(), a test extendType != null is done to check if constructor must be written. - In method getExtendsText() (which is called to generate the "extends" statement at the beginning of the class), a more complex test is used: (extendType != null) && !isUnion() && (!type.isSimpleType() || !extendType.isBaseType()) && (extendType.getDimensions().length() == 0) Thats why sometimes writeFullConstructor emits a constructor calling super(...) even if the class don't really inherits from anything. Or why writeSimpleConstructors emits a constructor to initialize every attributes even if the informations to write this constructor are not available. If you agree with my analyze, i can open a JIRA reports and submit a patch that i wrote trying to resolve the problem on my (multiple) wsdl. Thanks Rémy Bertrand
-- Davanum Srinivas : http://wso2.com/blogs/
