Hi Jamie,
I fixed a bug in SoapSerializer for xsd__base64Binary on 28/4 (after 1.5
was released). The bug was that null bytes in the binary data were not
handled correctly. So if you're using 1.5, please upgrade to a later
nightly level and let us know how you get on,
Mark
Mark Whitlock
IBM
----- Forwarded by Mark Whitlock/UK/IBM on 11/05/2005 09:46 -----
Jamie
<[EMAIL PROTECTED]
a> To
[email protected]
10/05/2005 17:45 cc
Subject
Please respond to calling a method with
"Apache AXIS C xsd__base64Binary
User List"
Hi
I am using the Axis C++ API to send compressed emails from a C++ client
to a server implemented in Java.
In my client code (see below), I have an exposed function called
storeMessage, that has a xsd__base64Binary parameter. When I send the
email without compression (i.e. plaintext), the data is passed
correctly. However, when I compress the data using zlib, I get a wierd
message "xarchiveInternalReturn e" (each letter seperated by null
characters) coming through as a parameter. See source below.
CA2GZIP gzip((char*)pszBuffer,ulFileSize); //
wrapper library for zlib services.. pszBuffer contains plaintext email
char endpoint[256];
sprintf (endpoint,
"http://127.0.0.1:8080/testservice/services/TestService");
TestService webservice(endpoint);
xsd__base64Binary bb;
bb.__ptr = (xsd__unsignedByte*)gzip.pgzip; //
contains compressed data
bb.__size = gzip.Length;
FILE *aout=fopen("c:\\test.gz","wb"); // just
for testing to see that the message is valid for debugging purposes
size_t count1=fwrite(bb.__ptr,1,bb.__size,aout);
fclose(aout);
webservice.storeMessage(bb);
Am I missing something here? I assume the AXIS will take care of the
base64 conversion before sending the message?
I have also noticed that Axis C++ generates a nasty access fault when an
exception is thrown from the client. It tries to delete a stray pointer.
Has anyone experienced problems with exceptions?
Thanks in advance for your help.
Jamie