return a java.lang.List return a java.lang.IllegalArgumentException: null rcl
-----------------------------------------------------------------------------

                 Key: AXIS2-1835
                 URL: http://issues.apache.org/jira/browse/AXIS2-1835
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: databinding
    Affects Versions: 1.1
         Environment: jdk 1.5
            Reporter: Benoit Decherf


I want to create a service which return an object containing a List:

The object to return:
public class Container {
  private List myList = new ArrayList();

  public List getList() {
    return myList;
  }
}

The service (pojo) :
public class MyService {
  private Container container = new Container();

  public Container getContainer() {
    container.getList().add("a test");
    return container;
  }
}

When I try to access the service I receive an Exception:
Caused by: java.lang.IllegalArgumentException: null rcl
        at 
org.codehaus.jam.internal.reflect.ReflectClassBuilder.<init>(ReflectClassBuilder.java:47)
        at 
org.codehaus.jam.provider.JamServiceFactoryImpl.createBuilder(JamServiceFactoryImpl.java:173)


I checked the code, and I saw in the class 
org/apache/axis2/databinding/utils/BeanUtil, The only object I can use to send 
a list is the ArrayList. Why ?
I change the isArrayList method in 
org/apache/axis2/databinding/typemapping/SimpleTypeMapper to detect a 
java.util.List instead of just the ArrayList and it works fine. So why limit to 
ArrayList (and not just Collection)?

I think there is an other bug which return the IllegalArgumentException in 
org.codehaus.jam.internal.reflect.ReflectClassBuilder.java:
In the method getPullParser of the class BeanUtil, there is no check on what 
returns beanObject.getClass().getClassLoader() before doing the addClassLoader.
Some implementations may use null to represent the bootstrap class loader. This 
method will return null in such implementations if this class was loaded by the 
bootstrap class loader. So that explain why the error is "null rcl".

Thanks,
Benoit

-- 
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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to