WSDL generated functions that leverage Base64 encoding
do not decode the response.
Consider the following WSDL:
http://ws1.api.re2.yahoo.com/ws/soap-demo/full.wsdl
the function "echoViaBase64()" accepts a string that
has been base64 encoded; reverses it, and returns the
reversed string B64 encoded.
SOAP::Lite correctly takes the argument being
submitted, base64 encodes it, and submits it to the
service. However, the response is not base64 decoded:
the response string is returned directly to the caller.
Logged In: YES
user_id=569674
The attached file demonstrates this bug.
Execute the script with the "-d" flag to see the raw data
that's submitted to the service, and the actual response.
The data submitted to the server has been correctly B64
encoded. The response is a b64 encoded string; but the data
returned to the caller has not been b64-decoded: it's the
string the server returned.
Logged In: YES
user_id=569674
Note: As of this time, the demo service will not respond
with B64 data; due to bug #1149481.