[ 
https://issues.apache.org/jira/browse/AXIS2-1835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Deepal Jayasinghe resolved AXIS2-1835.
--------------------------------------

    Resolution: Fixed

Hi 

Please Get the latest SNAPSHOT and try.

I invoked the service and got the following response

<ns:getContainerResponse xmlns:ns="http://ws.apache.org/axis2/xsd";>
            <return>
               <list>a test</list>
            </return>
         </ns:getContainerResponse>



> return a java.lang.List return a java.lang.IllegalArgumentException: null rcl
> -----------------------------------------------------------------------------
>
>                 Key: AXIS2-1835
>                 URL: https://issues.apache.org/jira/browse/AXIS2-1835
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 1.1
>         Environment: jdk 1.5
>            Reporter: Benoit Decherf
>         Assigned To: Deepal Jayasinghe
>         Attachments: patchBeanUtil.patch, patchSimpleTypeMapper.patch
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to