[ADB] convertTobase64Binary (?)
-------------------------------
Key: AXIS2-712
URL: http://issues.apache.org/jira/browse/AXIS2-712
Project: Apache Axis 2.0 (Axis2)
Type: Bug
Reporter: Davanum Srinivas
Please run wsdl2java on Benchmark.wsdl. It generates code (snippet below)
inEchoBase64Response#parse
if (reader.isStartElement() && new
javax.xml.namespace.QName("http://www.extreme.indiana.edu/wsdl/Benchmark1",
"echoBase64Return").equals(reader.getName()))
{
java.lang.String content = getElementTextProperly(reader);
object.setEchoBase64Return(
org.apache.axis2.databinding.utils.ConverterUtil.convertTobase64Binary(content));
reader.next();
} // End of if for expected property start element
On the wire the string being received is base64 encoded, so we need to decode
it. (So the name is wrong?). the convertTobase64Binary method just wraps up the
bytes of the string into a data handler which is wrong.
Patch is as follows:
Index: modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
===================================================================
--- modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
(revision 405712)
+++ modules/adb/src/org/apache/axis2/databinding/utils/ConverterUtil.java
(working copy)
@@ -327,7 +327,7 @@
throws Exception{
// reusing the byteArrayDataSource from the Axiom classes
ByteArrayDataSource byteArrayDataSource = new ByteArrayDataSource(
- s.getBytes()
+ Base64.decode(s)
);
return new DataHandler(byteArrayDataSource);
}
Thanks,
dims
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira