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

Kirill Tsibriy updated AXIS2-4308:
----------------------------------

    Description: 
I am deploying services as a POJO.

I am looking at two code snippets from 1.4.1 src.

BeanUtil.java:446
                            } else if (parameters.isArray()) {
                                partObj = deserialize(parameters, 
(OMElement)parts.getParent(),
                                        objectSupplier, prty.getName());
BeanUtil.java:372
                if ("byte".equals(arrayClassType.getName())) {
                    return 
Base64.decode(beanElement.getFirstElement().getText());

This leads to data being sourced from wrong element, so with request like 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:zla="schema1" xmlns:xsd="schema1/xsd">
   <soapenv:Header/>
   <soapenv:Body>
      <zla:request>
          <zla:request>
             <xsd:id>4748392</xsd:id>
             <xsd:responseData>AAECAwQ=</xsd:responseData>
         </zla:request>
      </zla:request>
   </soapenv:Body>
</soapenv:Envelope>

lead to decoding data from id element instead of contents of response data.

  was:
I am deploying services as a POJO.

I am looking at two code snippets from 1.4.1 src.

BeanUtil.java:446
                            } else if (parameters.isArray()) {
                                partObj = deserialize(parameters, 
(OMElement)parts.getParent(),
                                        objectSupplier, prty.getName());
BeanUtil.java:372
                if ("byte".equals(arrayClassType.getName())) {
                    return 
Base64.decode(beanElement.getFirstElement().getText());

This leads to data being sourced from wrong element, so with request like 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:zla="http://zla.provision.zls.zoombak.com"; 
xmlns:xsd="http://schema.provision.locationserver.zls.zoombak.com/xsd";>
   <soapenv:Header/>
   <soapenv:Body>
      <zla:request>
         <!--Optional:-->
         <zla:request>
            <!--Optional:-->
            <xsd:id>4748392</xsd:deviceMsisdn>
            <!--Optional:-->
            <xsd:responseData>AAECAwQ=</xsd:responseData>
         </zla:request>
      </zla:request>
   </soapenv:Body>
</soapenv:Envelope>

lead to decoding data from id element instead of contents of response data.


> base64Binary decoding works incorrectly: data is taken from the wrong element 
> in XML
> ------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4308
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4308
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 1.4.1
>            Reporter: Kirill Tsibriy
>
> I am deploying services as a POJO.
> I am looking at two code snippets from 1.4.1 src.
> BeanUtil.java:446
>                             } else if (parameters.isArray()) {
>                                 partObj = deserialize(parameters, 
> (OMElement)parts.getParent(),
>                                         objectSupplier, prty.getName());
> BeanUtil.java:372
>                 if ("byte".equals(arrayClassType.getName())) {
>                     return 
> Base64.decode(beanElement.getFirstElement().getText());
> This leads to data being sourced from wrong element, so with request like 
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:zla="schema1" xmlns:xsd="schema1/xsd">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <zla:request>
>           <zla:request>
>              <xsd:id>4748392</xsd:id>
>              <xsd:responseData>AAECAwQ=</xsd:responseData>
>          </zla:request>
>       </zla:request>
>    </soapenv:Body>
> </soapenv:Envelope>
> lead to decoding data from id element instead of contents of response data.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to