axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kirill Tsibriy (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (AXIS2-4308) base64Binary decoding works incorrectly: data is taken from the wrong element in XML
Date Mon, 20 Apr 2009 12:18:47 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-4308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700783#action_12700783
] 

Kirill Tsibriy edited comment on AXIS2-4308 at 4/20/09 5:17 AM:
----------------------------------------------------------------

Thanks for the hint.

There is another workaround - not to use byte[], but use DataHander - I have chosen this approach.


It would be a good thing to fix it, anyways, because it troubles deployment of POJO services
with autogenerated WSDL. Although, I understand that contract-first is the way to go, since
the possibility is there, it should be implemented correctly.

I need to dig into array representation via XML, but when I get some spare time, I will attempt
to submit a patch for this.

      was (Author: macondo):
    Thanks for the hint.

There is another workaround - not to use byte[], but use DataHander - I have chosen this approach.


It would be a good thing to fix it, anyways, because it troubles deployment of POJO services
with autogenerated WSDL. Although, I understand that contract-first is the way to go, since
the possibility is there, it should be implemented correctly.
  
> 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.


Mime
View raw message