Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-2548

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Cannot Reproduce
    • 2.2.5, 2.2.6
    • Invalid
    • Aegis Databinding
    • None
    • BEA JRockit 1.6.0 + WebLogic 10.3, Sun JDK 1.6.0

    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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            vanti Antal Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: