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