From b6b47af82f6c7d960388ec46dd8ab371c2e34de4 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 6 Jan 2016 20:50:02 +0100 Subject: [PATCH] Properly encode/decode base64Binary data in SOAP * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode base64Binary value as utf-8. (soap-decode-xs-basic-type): Decode base64Binary value as utf-8. --- lisp/net/soap-client.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/net/soap-client.el b/lisp/net/soap-client.el index f8cdaa9bc56..74024644966 100644 --- a/lisp/net/soap-client.el +++ b/lisp/net/soap-client.el @@ -538,7 +538,7 @@ This is a specialization of `soap-encode-value' for (base64Binary (unless (stringp value) (error "Not a string value for base64Binary")) - (base64-encode-string value)) + (base64-encode-string (encode-coding-string value 'utf-8))) (otherwise (error "Don't know how to encode %s for type %s" @@ -682,7 +682,7 @@ This is a specialization of `soap-decode-type' for decimal byte float double duration) (string-to-number (car contents))) (boolean (string= (downcase (car contents)) "true")) - (base64Binary (base64-decode-string (car contents))) + (base64Binary (decode-coding-string (base64-decode-string (car contents)) 'utf-8)) (anyType (soap-decode-any-type node)) (Array (soap-decode-array node)))))) -- 2.39.2