Empty array causes the following array to be empty and the first one to have 
the next array values.
---------------------------------------------------------------------------------------------------

                 Key: AXIS2-4125
                 URL: https://issues.apache.org/jira/browse/AXIS2-4125
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
    Affects Versions: 1.4.1
         Environment: Windows XP, tomcat 6
            Reporter: Raanan Zvi


We are using axis2 for java web service using tomcat.
We have this method in the web service: 
- <xs:element name="setPolicy">
- <xs:complexType>
- <xs:sequence>
  <xs:element minOccurs="0" name="entityId" type="xs:int" /> 
  <xs:element minOccurs="0" name="policyType" nillable="true" type="xs:string" 
/> 
  <xs:element minOccurs="0" name="threshold" type="xs:int" /> 
  <xs:element minOccurs="0" name="policyDescription" nillable="true" 
type="xs:string" /> 
  <xs:element minOccurs="0" name="enabled" type="xs:boolean" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="lowPriorityList" 
type="xs:int" /> 
  <xs:element maxOccurs="unbounded" minOccurs="0" name="highPriorityList" 
type="xs:int" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:element>

You can see that the last two arguments are arrays of int which can be empty.
When I send this request:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; 
xmlns:wsdl="http://wsdl.intf.dcm.intel.com";>
   <soap:Header/>
   <soap:Body>
      <wsdl:setPolicy>
         <!--Optional:-->
         <wsdl:entityId>1</wsdl:entityId>
         <!--Optional:-->
         <wsdl:policyType>CUSTOM_PWR_LIMIT</wsdl:policyType>
         <!--Optional:-->
         <wsdl:threshold>839</wsdl:threshold>
         <!--Optional:-->
         <wsdl:policyDescription>blabla1</wsdl:policyDescription>
         <!--Optional:-->
         <wsdl:enabled>False</wsdl:enabled>
         <wsdl:highPriorityList>2</wsdl:highPriorityList>
         <wsdl:highPriorityList>3</wsdl:highPriorityList>

      </wsdl:setPolicy>
   </soap:Body>
</soap:Envelope>

The java code gets an empty highPriorityList array and the 
lowPriorityList=[2,3].
If I add <wsdl:lowPriorityList nil="true"></wsdl:lowPriorityList> before the 
highPriorityList I get the arguments correctly.
If I add <wsdl:lowPriorityList nil="true"></wsdl:lowPriorityList> after the 
highPriorityList I get wrong arguments.

It seems that for some reason axis2 ignores the names of the arrays and just 
uses the order of the arrays.

When it comes to arrays there is a different between a null array and an empty 
one so even the initial request should work correctly.

-- 
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