axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andre Schneider (JIRA)" <>
Subject [jira] Created: (AXIS2-4488) PojoWebservice - RPCServiceClient cannot handle abstract classes anymore
Date Fri, 04 Sep 2009 11:47:57 GMT
PojoWebservice - RPCServiceClient cannot handle abstract classes anymore

                 Key: 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
then the RPCServiceClient throws follwing Exception:
org.apache.axis2.AxisFault: testproject.B
      at org.apache.axis2.AxisFault.makeFault(
      at org.apache.axis2.engine.DefaultObjectSupplier.getObject(
      at org.apache.axis2.databinding.utils.BeanUtil.deserialize(
      at org.apache.axis2.databinding.utils.BeanUtil.deserialize(
      at org.apache.axis2.databinding.utils.BeanUtil.processObject(
      at org.apache.axis2.databinding.utils.BeanUtil.ProcessElement(
      at org.apache.axis2.databinding.utils.BeanUtil.deserialize(
      at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(
      at testproject.AbstractServiceClient.makeServiceCall(
      at testproject.TestServiceClient.getComplexObject(
      at testproject.ServiceCall.main(
Caused by: java.lang.InstantiationException: testproject.B
      at java.lang.Class.newInstance0(
      at java.lang.Class.newInstance(
      at org.apache.axis2.engine.DefaultObjectSupplier.getObject(
      ... 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.

View raw message