Inheritance / Extensions in generated WSDL is not correct
---------------------------------------------------------

                 Key: XFIRE-1110
                 URL: http://jira.codehaus.org/browse/XFIRE-1110
             Project: XFire
          Issue Type: Bug
          Components: Aegis Module
    Affects Versions: 1.2.6
         Environment: Windows XP SP2, JBoss 4.2.2.GA, XFire 1.2.6
            Reporter: Roland Burgermann
            Assignee: Dan Diephouse
         Attachments: PatchedConstructor.txt

When accessing my WSDL, which is generated out of my JAVA classes on access, 
then the inheritance / extension are not set correctly.

I debugged the XFire sources for a long time, and tried to find the place where 
this extension tag is set. I found the place in the "BeanType.java" in the 
method "writeSchema(Element)".
There are several checks with the call "info.isExtension()". If this attribute 
in the BeanTypeInfo is set, the extension tag is written.
BUT this attribute is not set correctly for ALL InfoTypes. I found a method 
called "getSuperType()" near the beginning of the "writeSchema(Element)" 
method. In this method the Superclass is checked, and if found one it is 
checked again for another Superclass AND then, on this superclass is set the 
isExtenstion attribute to true, when found another Superclass above the 
Superclass. But this works only for Superclasses, the normal types are not 
affected of this part.
This is the reason why some extensions are set in the generated WSDL.

I tried to find a good place, to add such a handling for all types and finally 
i set this in the constructor of the "BeanTypeInfo(Class, String)". So i set 
the isExtension attribute directly on the creation of the BeanTypeInfo. After 
this patch i got all extensions in my generated WSDL.

Maybe this bug overlaps with one other inheritance bug here, but i don't find a 
bug especially for this issue.

Additionally i don't know if this patch generates some ohter problems. Maybe 
another place for setting this attribute will be better, e.g. in the method 
"initializeProperties()" which is called in both constructors.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to