[ https://issues.apache.org/jira/browse/AXIS2-4443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12734993#action_12734993 ]
Detelin Yordanov commented on AXIS2-4443: ----------------------------------------- Using Class#getSimpleName() leads to an erroneous schema when there are two classes in a package, which both contain an inner class definition with one and the same name, e.g.: class Mother { public class Child { } } class Father{ public class Child { } } Since Class#getSimpleName() returns just the name of the class, in both cases it will return "Child" and the schema generation will produce two complex types with one and the same name. Such XML schema is not valid, so the whole service is rendered inaccessible. > Schema generation for inner classes is not backward compatible > -------------------------------------------------------------- > > Key: AXIS2-4443 > URL: https://issues.apache.org/jira/browse/AXIS2-4443 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: kernel > Affects Versions: 1.5 > Reporter: Detelin Yordanov > > In Axis2 1.5 schema types generated for inner classes have just the name of > the class, while in Axis2 1.4.1 the name of the type incorporated the name of > the parent class, e.g. > class Parent { > class Inner { > } > } > Axis2 1.4.1 created a complex type named "Parent_Inner" for the Inner class > (it was replacing the dollar character in "Parent$Inner" with an underscore), > while Axis2 1.5 creates just "Inner" type. > The reason must be in using Class#getSimpleName(), this method does not > return the parent class prefix as the annogen's JClass#getSimpleName() did in > Axis2 1.4.1. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.