axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "philippe le berre (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AXIS2-5676) Deserialisation of array of obj fails if the class has a constructor(string s)
Date Thu, 13 Nov 2014 15:35:33 GMT

     [ https://issues.apache.org/jira/browse/AXIS2-5676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

philippe le berre updated AXIS2-5676:
-------------------------------------
    Attachment: test_patch.diff

Patch the ConverterUtilTest.java

> Deserialisation of array of obj fails if the class has a constructor(string s)
> ------------------------------------------------------------------------------
>
>                 Key: AXIS2-5676
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5676
>             Project: Axis2
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.6.2
>            Reporter: philippe le berre
>         Attachments: test_patch.diff
>
>
> For instance,
> public class Alice {
> private String comment;
> private String name;
> public Alice();
> public Alice(String comment)  {this.comment = comment; }
> public String toString() { return "[name:"+name+", comment:"+comment+"]"; }
> }
> if invoking :
> client.setReturnType(new Class[] {  Alice[].class });
> Alice[] ar = (Alice[]) client.invokeBlocking(new Object[3]);
> Then the deserialised array contains object instantiated with calls to Alice(obj.toString()).
If one removes the Alice(String s) constructor then the array is correct, Alice objects are
instantiated properly.
> The root cause is the method ConvertToArbitraryObjectArray in org.apache.axis2.databinding.utils.ConverterUtil
> ---
>                        Array.set(returnArray, i, getObjectForClass(
>                                 baseArrayClass,
>                                 o.toString()));
> ---
> The one test that refers to this is testBigInteger in ConverterUtilTest, so I propose
the following fix :
>       if (! ADBBean.class.isAssignableFrom(baseArrayClass) && 
>         		java.lang.Number.class.isAssignableFrom(baseArrayClass)) {
> The ConvertUtilTest is then ok, as well as any array of Alice !



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message