You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Samisa Abeysinghe (JIRA)" <ji...@apache.org> on 2010/12/19 12:37:03 UTC
[jira] Updated: (AXIS2-4488) PojoWebservice - RPCServiceClient
cannot handle abstract classes anymore
[ https://issues.apache.org/jira/browse/AXIS2-4488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samisa Abeysinghe updated AXIS2-4488:
-------------------------------------
Fix Version/s: (was: 1.3)
1.6
> PojoWebservice - RPCServiceClient cannot handle abstract classes anymore
> ------------------------------------------------------------------------
>
> Key: AXIS2-4488
> URL: https://issues.apache.org/jira/browse/AXIS2-4488
> Project: Axis2
> Issue Type: Bug
> Affects Versions: 1.5, 1.4.1, 1.4
> Environment: n/a
> Reporter: Andre Schneider
> Fix For: 1.6
>
>
> 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.
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org