Susan Hert created XMLBEANS-661:
-----------------------------------

             Summary: Unable to resolve beans with classloader because 
DefaultClassLoaderResourceLoader is used first
                 Key: XMLBEANS-661
                 URL: https://issues.apache.org/jira/browse/XMLBEANS-661
             Project: XMLBeans
          Issue Type: Bug
    Affects Versions: Version 5.2.1
            Reporter: Susan Hert
         Attachments: SchemaTypeLoader__typeSystemForName.patch

[This 
commit|https://github.com/apache/xmlbeans/commit/82bcd3775c4643799d11581649815596aedd3520]
 for the fix of Issue #648 has introduced another problem that we are seeing 
when loading certain documents.

In particular, the constructor of

{{src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeSystemImpl.java}}

changed from passing a {{null}} value as a {{resourceLoader}} to the {{build}} 
method for {{SchemaTypeLoaderImpl}} to passing in a {{new 
DefaultClassLoaderResourceLoader()}}. This has the consequence that 
{{SchemaTypeLoaderImpl::typeSystemForName}} now tries to get the type system on 
the classpath using the {{_resourceLoader}}, but, in our case, for some 
documents, the {{_classpathTypeSystems}} map is empty, and thus it returns a 
generic {{SchemaTypeSystemImpl}} that has no classloader and won't return any 
of our XML beans, when then later causes a {{ClassCastException}} because the 
object returned is a base class {{}} object. 

Previously, when the {{_resourceLoader}} was {{null}}, {{typeSystemForName}} 
used the non-null {{_classLoader}} and found a type system with a classpath 
that could resolve to our beans.

This does not happen for all of our beans, and I've not been able to track down 
what differentiates the problematic ones from the happy ones, but running out 
tests with an updated version of xmlBeans that includes this patch seems to 
have resolved our issue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to