[ http://issues.apache.org/jira/browse/AXISCPP-615?page=all ]
Mark Whitlock closed AXISCPP-615:
---------------------------------
Resolution: Fixed
I have fixed this JIRA as suggested. I have added the fix into base64Binary and
hexBinary as well.
> Wrong serialization for type XSD_BASE64BINARY
> ---------------------------------------------
>
> Key: AXISCPP-615
> URL: http://issues.apache.org/jira/browse/AXISCPP-615
> Project: Axis-C++
> Type: Bug
> Components: Serialization
> Versions: 1.5 Final
> Environment: Win32 (maybe Linux too)
> Reporter: Giorgio Saviane
> Assignee: Mark Whitlock
> Priority: Blocker
>
> The XSD_BASE64BINARY is wrongly copied when you add a parameter on a client
> call to a WS.
> A XSD_BASE64BINARY is treated as a string instead as a memory block in
> SoapSerializer::addOutputParam method. In line 970 I've found the statement:
> strcpy((char*)(pParam->m_Value.b64bValue->__ptr),
> (char*)(*((xsd__base64Binary *) (pValue))).__ptr);
> and should be:
> memcpy((char*)(pParam->m_Value.b64bValue->__ptr),
> (char*)(*((xsd__base64Binary *) (pValue))).__ptr,
> pParam->m_Value.b64bValue->__size);
> otherwise the copy will stopped at the first null value. Applying that patch
> the call works fine.
> Steps to reproduce the bug
> ==========================
> Expose on the server a WS with a method that accepts a binary memory block as
> parameter (a Java byte[]). Create the wsdl and a C++ client prototype with
> the tool:
> %JAVA_HOME%\bin\java -classpath
> %AXIS_C_HOME%\lib\axis\wsdl2ws.jar;%AXISCLASSPATH%
> org.apache.axis.wsdl.wsdl2ws.WSDL2Ws %1 -o./ClientOut -lc++ -sclient
> class.wsdl
> Complete the client call pasting some chunks of binary data on the parameter,
> whit a 0 value on the middle (e.g.: "abcd\0x00defg"). Compile the C++ client
> and run it, the server will receive correcltly the left side of the string
> preceding the 0, the other side will be undefined.
--
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