axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andre Schneider (JIRA)" <j...@apache.org>
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
                 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.


Mime
View raw message