PojoWebservice - RPCServiceClient cannot handle abstract classes anymore ------------------------------------------------------------------------
Key: AXIS2-4488 URL: https://issues.apache.org/jira/browse/AXIS2-4488 Project: Axis 2.0 (Axis2) Issue Type: Bug Affects Versions: 1.4, 1.4.1, 1.5 Environment: n/a Reporter: Andre Schneider Fix For: 1.3 Given following Pojo class structure: class A has a field of class B class B is abstract class C extends class B Now we create a new instance of A and put a new instance of C in A. Now if a RPCServiceClient wants to send the instance of A to the corresponding service then the client doesn't send anything to the services. In AXIS 1.4 and 1.4.1 the client throws a nullpointerexception. In AXIS 1.5 the client throws no Exception but also sends nothing to the service. In AXIS 1.3 everything works fine. And in the other direction if we want to fetch a object A with an object in Field B from the service then the RPCServiceClient throws follwing Exception: org.apache.axis2.AxisFault: testproject.B at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:45) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:368) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:410) at org.apache.axis2.databinding.utils.BeanUtil.processObject(BeanUtil.java:682) at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(BeanUtil.java:630) at org.apache.axis2.databinding.utils.BeanUtil.deserialize(BeanUtil.java:562) at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:104) at testproject.AbstractServiceClient.makeServiceCall(AbstractServiceClient.java:56) at testproject.TestServiceClient.getComplexObject(TestServiceClient.java:34) at testproject.ServiceCall.main(ServiceCall.java:22) Caused by: java.lang.InstantiationException: testproject.B at java.lang.Class.newInstance0(Class.java:340) at java.lang.Class.newInstance(Class.java:308) at org.apache.axis2.engine.DefaultObjectSupplier.getObject(DefaultObjectSupplier.java:40) ... 9 more But if we set field B in A to null then the client in AXIS2 versions 1.4-1.5 sends the object A to the service. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.