[
https://issues.apache.org/jira/browse/CXF-2548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Antal Varga updated CXF-2548:
-----------------------------
Description:
Revision 826052 changed the behaviour of
org.apache.cxf.frontend.ClientFactoryBean.create() so that subsequent calls
will create new Client objects.
The ServiceInfos are cached between the creation of these objects so that the
SchemaCollection objects assigned to them also remain the same.
However when an endpoint is created (it is called for both of the Clients) and
org.apache.cxf.aegis.databinding.AegisDatabinding.createSchemas()
is run then (line 457) a new SchemaInfo is attempted to be added to the schema
collection with a namespace URI already in the collection
(see API component
org.apache.cxf.service.model.ServiceInfo.addNewSchema(String)) because it was
already added
during the creation of the previous Client object.
I think prior to adding the new SchemaInfo it should be checked if an entry
with the given namespace URI already exists.
was:
Revision 826052 changed the behaviour of
org.apache.cxf.frontend.ClientFactoryBean.create() so that subsequent calls
will create new Client objects.
The ServiceInfos are cached between the creation of these objects so that the
SchemaCollection objects assigned to them also remain the same.
However when an endpoint is created and
org.apache.cxf.aegis.databinding.AegisDatabinding.createSchemas() is run then
(line 457) a new SchemaInfo
is attempted to be added to the schema collection with a namespace URI already
in the collection (API component
org.apache.cxf.service.model.ServiceInfo.addNewSchema(String)) because it was
added during the creation of the previous Client object.
I think prior to adding the new SchemaInfo it should be checked if an entry
with the given namespace URI already exists.
> Aegis component attempts to assign new schema objects with an existing
> namespace URI to ServiceInfo if consecutive Clients are created for the same
> WSDL causing XmlSchemaException: Schema name conflict in collection
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CXF-2548
> URL: https://issues.apache.org/jira/browse/CXF-2548
> Project: CXF
> Issue Type: Bug
> Components: Aegis Databinding
> Affects Versions: 2.2.5, 2.2.6
> Environment: BEA JRockit 1.6.0 + WebLogic 10.3, Sun JDK 1.6.0
> Reporter: Antal Varga
> Priority: Critical
>
> Revision 826052 changed the behaviour of
> org.apache.cxf.frontend.ClientFactoryBean.create() so that subsequent calls
> will create new Client objects.
> The ServiceInfos are cached between the creation of these objects so that the
> SchemaCollection objects assigned to them also remain the same.
> However when an endpoint is created (it is called for both of the Clients)
> and org.apache.cxf.aegis.databinding.AegisDatabinding.createSchemas()
> is run then (line 457) a new SchemaInfo is attempted to be added to the
> schema collection with a namespace URI already in the collection
> (see API component
> org.apache.cxf.service.model.ServiceInfo.addNewSchema(String)) because it was
> already added
> during the creation of the previous Client object.
> I think prior to adding the new SchemaInfo it should be checked if an entry
> with the given namespace URI already exists.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.