Function: soap-parse-server-response
soap-parse-server-response is a byte-compiled function defined in
soap-client.el.gz.
Signature
(soap-parse-server-response)
Documentation
Error-check and parse the XML contents of the current buffer.
Source Code
;; Defined in /usr/src/emacs/lisp/net/soap-client.el.gz
;;;;; Loading WSDL from XML documents
(defun soap-parse-server-response ()
"Error-check and parse the XML contents of the current buffer."
(let ((mime-part (mm-dissect-buffer t t)))
(when (and
(equal (mm-handle-media-type mime-part) "multipart/related")
(equal (get-text-property 0 'type (mm-handle-media-type mime-part))
"text/xml"))
(setq mime-part
(mm-make-handle
(get-text-property 0 'buffer (mm-handle-media-type mime-part))
`(,(get-text-property 0 'type (mm-handle-media-type mime-part))))))
(unless mime-part
(error "Failed to decode response from server"))
(unless (equal (car (mm-handle-type mime-part)) "text/xml")
(error "Server response is not an XML document"))
(with-temp-buffer
(mm-insert-part mime-part)
(prog1
(car (xml-parse-region (point-min) (point-max)))
(kill-buffer)
(mm-destroy-part mime-part)))))