X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/666b903b912ca0aa2b1a034859b752b04f03141a..eee0d650346cc3182f08a88940f0e06325721c70:/lisp/net/soap-client.el diff --git a/lisp/net/soap-client.el b/lisp/net/soap-client.el index 3936911193..10434f4364 100644 --- a/lisp/net/soap-client.el +++ b/lisp/net/soap-client.el @@ -1,6 +1,6 @@ ;;;; soap-client.el -- Access SOAP web services from Emacs -;; Copyright (C) 2009-2012 Free Software Foundation, Inc. +;; Copyright (C) 2009-2014 Free Software Foundation, Inc. ;; Author: Alexandru Harsanyi ;; Created: December, 2009 @@ -1352,10 +1352,7 @@ This is because it is easier to work with list results in LISP." ;;;; Soap Envelope parsing -(put 'soap-error - 'error-conditions - '(error soap-error)) -(put 'soap-error 'error-message "SOAP error") +(define-error 'soap-error "SOAP error") (defun soap-parse-envelope (node operation wsdl) "Parse the SOAP envelope in NODE and return the response. @@ -1569,7 +1566,7 @@ instead." (defun soap-encode-simple-type (xml-tag value type) "Encode inside XML-TAG the LISP VALUE according to TYPE." - ;; Validate VALUE agains the simple type's enumeration, than just encode it + ;; Validate VALUE against the simple type's enumeration, than just encode it ;; using `soap-encode-basic-type' (let ((enumeration (soap-simple-type-enumeration type))) @@ -1768,7 +1765,11 @@ operations in a WSDL document." (url-package-name "soap-client.el") (url-package-version "1.0") (url-http-version "1.0") - (url-request-data (soap-create-envelope operation parameters wsdl)) + (url-request-data + ;; url-request-data expects a unibyte string already encoded... + (encode-coding-string + (soap-create-envelope operation parameters wsdl) + 'utf-8)) (url-mime-charset-string "utf-8;q=1, iso-8859-1;q=0.5") (url-request-coding-system 'utf-8) (url-http-attempt-keepalives t)