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.
This commit is contained in:
Andreas Schwab 2016-01-06 20:50:02 +01:00
parent c632466284
commit b6b47af82f

View file

@ -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))))))