Function: soap-parse-message
soap-parse-message is a byte-compiled function defined in
soap-client.el.gz.
Signature
(soap-parse-message NODE)
Documentation
Parse NODE as a wsdl:message and return the corresponding type.
Source Code
;; Defined in /usr/src/emacs/lisp/net/soap-client.el.gz
(defun soap-parse-message (node)
"Parse NODE as a wsdl:message and return the corresponding type."
(cl-assert (eq (soap-l2wk (xml-node-name node)) 'wsdl:message)
nil
"expecting wsdl:message node, got %s"
(soap-l2wk (xml-node-name node)))
(let ((name (xml-get-attribute-or-nil node 'name))
parts)
(dolist (p (soap-xml-get-children1 node 'wsdl:part))
(let ((name (xml-get-attribute-or-nil p 'name))
(type (xml-get-attribute-or-nil p 'type))
(element (xml-get-attribute-or-nil p 'element)))
(when type
(setq type (soap-l2fq type 'tns)))
(if element
(setq element (soap-l2fq element 'tns))
;; else
(setq element (make-soap-xs-element
:name name
:namespace-tag soap-target-xmlns
:type^ type)))
(push (cons name element) parts)))
(make-soap-message :name name :parts (nreverse parts))))