You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by javaDev <ws...@bk.ru> on 2006/11/16 21:10:45 UTC

problem in BeanUtil.deserialize()

There is an problem in org.apache.axis2.databinding.utils.BeanUtil in method :
220: deserialize(Class beanClass,
                 OMElement beanElement,
                 ObjectSupplier objectSupplier,
                 String arrayLocalName)

During deserialization of :

<myCase xmlns="http://services.my/xsd">
 <arg0 xmlns="">
   <baseDO xmlns:xsi=".." xmlns="http://datatypes.my/xsd" xsi:nil="true"/>
   <extensionDO xmlns:xsi=".." xmlns="http://datatypes.my/xsd" xsi:nil="true"/>
  .......
Elements baseDO and extensionDO refers to abstract class. Due to nil attribute it shoud left NULL. Indeed I see that the nill attribute is parsed correctly (directly at the method entry, line 227):
   beanElement.localName: "baseDO"
   beanElement.attributes[0]:
        {http://www.w3.org/2001/XMLSchema-instance}nil=true

This should imply that no further actions required and the null should be returned as deserialized value. But this does not happen and in 
    261:   beanObj = objectSupplier.getObject(beanClass);
the InstantiationException is thrown since it can't instantiate abstarct class.

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


Re: problem in BeanUtil.deserialize()

Posted by Davanum Srinivas <da...@gmail.com>.
JIRA bug with a sample to recreate the problem please.

-- dims

On 11/16/06, javaDev <ws...@bk.ru> wrote:
> There is an problem in org.apache.axis2.databinding.utils.BeanUtil in method :
> 220: deserialize(Class beanClass,
>                  OMElement beanElement,
>                  ObjectSupplier objectSupplier,
>                  String arrayLocalName)
>
> During deserialization of :
>
> <myCase xmlns="http://services.my/xsd">
>  <arg0 xmlns="">
>    <baseDO xmlns:xsi=".." xmlns="http://datatypes.my/xsd" xsi:nil="true"/>
>    <extensionDO xmlns:xsi=".." xmlns="http://datatypes.my/xsd" xsi:nil="true"/>
>   .......
> Elements baseDO and extensionDO refers to abstract class. Due to nil attribute it shoud left NULL. Indeed I see that the nill attribute is parsed correctly (directly at the method entry, line 227):
>    beanElement.localName: "baseDO"
>    beanElement.attributes[0]:
>         {http://www.w3.org/2001/XMLSchema-instance}nil=true
>
> This should imply that no further actions required and the null should be returned as deserialized value. But this does not happen and in
>     261:   beanObj = objectSupplier.getObject(beanClass);
> the InstantiationException is thrown since it can't instantiate abstarct class.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)

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