You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Tore Larsen (JIRA)" <ji...@apache.org> on 2006/04/04 09:43:43 UTC

[jira] Created: (AXIS2-547) wsdl2Java fails with StackOverflowError when creating Xmlbeans from recursive xml schema

wsdl2Java fails with StackOverflowError when creating Xmlbeans from recursive xml schema
----------------------------------------------------------------------------------------

         Key: AXIS2-547
         URL: http://issues.apache.org/jira/browse/AXIS2-547
     Project: Apache Axis 2.0 (Axis2)
        Type: Bug

  Components: databinding  
    Versions: 0.95    
 Environment: J2sdk 1.4.2, jdk 1.5.0, Windows XP
    Reporter: Tore Larsen


Creating ADB beans suffered from a problem with recursive types dscribed in schema and has been solved.
The same issue is also present in the case of creating Xmlbeans. I have tracked down the problem to the class:

org.apache.axis2.wsdl.codegen.extension.XMLBeansExtension

The method approx. at line 300:

<snip>
    private void findPlainBase64Types(SchemaType stype, ArrayListbase64Types) {
        
        SchemaProperty[] elementProperties = stype.getElementProperties();
        
            for (int i = 0; i < elementProperties.length; i++) {
                SchemaType schemaType = elementProperties[i].getType();
                
                if (schemaType.isPrimitiveType()) {
                    SchemaType primitiveType = schemaType.getPrimitiveType();
                
                    if (Constants.BASE_64_CONTENT_QNAME.equals(primitiveType.getName())) {
                        base64Types.add(elementProperties[i].getName());
                    }
                    
                } else {
-->                    findPlainBase64Types(schemaType, base64Types);
                }  
        }
    }
</snip>

This recursive method will fail when the type described in schema is also recursive. I've got EquipmentType in EquipmentType in EquipmentType forever....


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


[jira] Assigned: (AXIS2-547) wsdl2Java fails with StackOverflowError when creating Xmlbeans from recursive xml schema

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-547?page=all ]

Deepal Jayasinghe reassigned AXIS2-547:
---------------------------------------

    Assign To: Ajith Harshana Ranabahu

> wsdl2Java fails with StackOverflowError when creating Xmlbeans from recursive xml schema
> ----------------------------------------------------------------------------------------
>
>          Key: AXIS2-547
>          URL: http://issues.apache.org/jira/browse/AXIS2-547
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: databinding
>     Versions: 0.95
>  Environment: J2sdk 1.4.2, jdk 1.5.0, Windows XP
>     Reporter: Tore Larsen
>     Assignee: Ajith Harshana Ranabahu

>
> Creating ADB beans suffered from a problem with recursive types dscribed in schema and has been solved.
> The same issue is also present in the case of creating Xmlbeans. I have tracked down the problem to the class:
> org.apache.axis2.wsdl.codegen.extension.XMLBeansExtension
> The method approx. at line 300:
> <snip>
>     private void findPlainBase64Types(SchemaType stype, ArrayListbase64Types) {
>         
>         SchemaProperty[] elementProperties = stype.getElementProperties();
>         
>             for (int i = 0; i < elementProperties.length; i++) {
>                 SchemaType schemaType = elementProperties[i].getType();
>                 
>                 if (schemaType.isPrimitiveType()) {
>                     SchemaType primitiveType = schemaType.getPrimitiveType();
>                 
>                     if (Constants.BASE_64_CONTENT_QNAME.equals(primitiveType.getName())) {
>                         base64Types.add(elementProperties[i].getName());
>                     }
>                     
>                 } else {
> -->                    findPlainBase64Types(schemaType, base64Types);
>                 }  
>         }
>     }
> </snip>
> This recursive method will fail when the type described in schema is also recursive. I've got EquipmentType in EquipmentType in EquipmentType forever....

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


[jira] Resolved: (AXIS2-547) wsdl2Java fails with StackOverflowError when creating Xmlbeans from recursive xml schema

Posted by "Ajith Harshana Ranabahu (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-547?page=all ]
     
Ajith Harshana Ranabahu resolved AXIS2-547:
-------------------------------------------

    Resolution: Fixed

Solved - related to issue  357

> wsdl2Java fails with StackOverflowError when creating Xmlbeans from recursive xml schema
> ----------------------------------------------------------------------------------------
>
>          Key: AXIS2-547
>          URL: http://issues.apache.org/jira/browse/AXIS2-547
>      Project: Apache Axis 2.0 (Axis2)
>         Type: Bug

>   Components: databinding
>     Versions: 0.95
>  Environment: J2sdk 1.4.2, jdk 1.5.0, Windows XP
>     Reporter: Tore Larsen
>     Assignee: Ajith Harshana Ranabahu

>
> Creating ADB beans suffered from a problem with recursive types dscribed in schema and has been solved.
> The same issue is also present in the case of creating Xmlbeans. I have tracked down the problem to the class:
> org.apache.axis2.wsdl.codegen.extension.XMLBeansExtension
> The method approx. at line 300:
> <snip>
>     private void findPlainBase64Types(SchemaType stype, ArrayListbase64Types) {
>         
>         SchemaProperty[] elementProperties = stype.getElementProperties();
>         
>             for (int i = 0; i < elementProperties.length; i++) {
>                 SchemaType schemaType = elementProperties[i].getType();
>                 
>                 if (schemaType.isPrimitiveType()) {
>                     SchemaType primitiveType = schemaType.getPrimitiveType();
>                 
>                     if (Constants.BASE_64_CONTENT_QNAME.equals(primitiveType.getName())) {
>                         base64Types.add(elementProperties[i].getName());
>                     }
>                     
>                 } else {
> -->                    findPlainBase64Types(schemaType, base64Types);
>                 }  
>         }
>     }
> </snip>
> This recursive method will fail when the type described in schema is also recursive. I've got EquipmentType in EquipmentType in EquipmentType forever....

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