[
https://issues.apache.org/jira/browse/CXF-2418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp reassigned CXF-2418:
--------------------------------
Assignee: Daniel Kulp
> SchemaCollection throws StackOverflowError when schema contains circular
> reference
> ----------------------------------------------------------------------------------
>
> Key: CXF-2418
> URL: https://issues.apache.org/jira/browse/CXF-2418
> Project: CXF
> Issue Type: Bug
> Components: Aegis Databinding
> Affects Versions: 2.2.3
> Reporter: Fried Hoeben
> Assignee: Daniel Kulp
> Attachments: cxf-schemaCollection.patch
>
>
> When a schema contains a reference to an element inside itself, or there is
> another circular reference between schemas,
> SchemaCollection.addCrossImports() goes into infinite recursion ending with a
> StackOverflowError.
> Sample stack (before the error):
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addElementCrossImportsElement(XmlSchema,
> XmlSchemaObject) line: 353
> SchemaCollection.addCrossImportsSequence(XmlSchema, XmlSchemaSequence)
> line: 376
> SchemaCollection.addCrossImportsType(XmlSchema, XmlSchemaType) line:
> 366
> SchemaCollection.addOneSchemaCrossImports(XmlSchema) line: 342
> SchemaCollection.addCrossImports() line: 321
> Databinding(AegisDatabinding).createSchemas(Service, Set<Type>) line:
> 504
> Databinding(AegisDatabinding).initialize(Service) line: 285
>
> JaxWsServiceFactoryBean(ReflectionServiceFactoryBean).buildServiceFromWSDL(String)
> line: 346
>
> JaxWsServiceFactoryBean(ReflectionServiceFactoryBean).initializeServiceModel()
> line: 442
> JaxWsServiceFactoryBean(ReflectionServiceFactoryBean).create() line:
> 195
> JaxWsServiceFactoryBean.create() line: 163
>
> JaxWsClientFactoryBean(AbstractWSDLBasedEndpointFactory).createEndpoint()
> line: 100
> JaxWsClientFactoryBean(ClientFactoryBean).create() line: 52
> JaxWsProxyFactoryBean(ClientProxyFactoryBean).create() line: 102
> JaxWsProxyFactoryBean.create() line: 115
> ...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.