Function: soap-parse-wsdl-phase-finish-parsing
soap-parse-wsdl-phase-finish-parsing is a byte-compiled function
defined in soap-client.el.gz.
Signature
(soap-parse-wsdl-phase-finish-parsing NODE WSDL)
Documentation
Finish parsing NODE into WSDL.
Source Code
;; Defined in /usr/src/emacs/lisp/net/soap-client.el.gz
(defun soap-parse-wsdl-phase-finish-parsing (node wsdl)
"Finish parsing NODE into WSDL."
(soap-with-local-xmlns node
(let ((ns (make-soap-namespace :name (soap-get-target-namespace node))))
(dolist (node (soap-xml-get-children1 node 'wsdl:message))
(soap-namespace-put (soap-parse-message node) ns))
(dolist (node (soap-xml-get-children1 node 'wsdl:portType))
(let ((port-type (soap-parse-port-type node)))
(soap-namespace-put port-type ns)
(soap-wsdl-add-namespace
(soap-port-type-operations port-type) wsdl)))
(dolist (node (soap-xml-get-children1 node 'wsdl:binding))
(soap-namespace-put (soap-parse-binding node) ns))
(dolist (node (soap-xml-get-children1 node 'wsdl:service))
(dolist (node (soap-xml-get-children1 node 'wsdl:port))
(let ((name (xml-get-attribute node 'name))
(binding (xml-get-attribute node 'binding))
(url (let ((n (car (soap-xml-get-children1
node 'wsdlsoap:address))))
(xml-get-attribute n 'location))))
(let ((port (make-soap-port
:name name :binding (soap-l2fq binding 'tns)
:service-url url)))
(soap-namespace-put port ns)
(push port (soap-wsdl-ports wsdl))))))
(soap-wsdl-add-namespace ns wsdl))))