BeanUtil.deserialize does not handle xsi:nil attribute properly
---------------------------------------------------------------

                 Key: AXIS2-3974
                 URL: https://issues.apache.org/jira/browse/AXIS2-3974
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: adb
    Affects Versions: nightly
         Environment: Axis2 Trunk with experimental multidimensional array 
support (thanks to Amila)
            Reporter: Detelin Yordanov


The BeanUtil.deserialize(Class, OMElement, ObjectSupplier, String) in Adb 
module does not handle xsi:nil attributes on array elements properly.

In the given example test case a 2D string array (that is part of a POJO) is 
being sent to an Echo Java service.
The 2D array contains an null array and a null array element:
String[][] stringArray2D = new String[][] { new String[] { "axis2", null}, null}

The request is send using ADB client stub and it's OK:
<ns2:echoSimplePOJO xmlns:ns2="http://test.tempuri.org";>
    <ns2:simplePOJO>
         <names xmlns="http://test.tempuri.org/xsd";>
             <names>axis2</names>
             <names xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:nil="1" />
          </names>
          <ns1:names xmlns:ns1="http://test.tempuri.org/xsd"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:nil="1" />
</ns2:simplePOJO>

The request, however, contains an empty string rather than a null string, and 
does not contain the null array:

<ns:return xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:ax23="http://test.tempuri.org/xsd"; xsi:type="ax23:SimplePOJO">
    <ax23:names>
         <ax23:names>axis2</ax23:names>
         <ax23:names></ax23:names>
    </ax23:names>
</ns:return>

The problem is that the deserialize(..) method does not check for xsi:nil.
Additionally it does not put deserialized null array elements inside the 
valueList, so they are effectively skipped.

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to