Function: soap-resolve-references-for-binding

soap-resolve-references-for-binding is a byte-compiled function defined in soap-client.el.gz.

Signature

(soap-resolve-references-for-binding BINDING WSDL)

Documentation

Resolve references for a BINDING type using the WSDL document.

See also soap-resolve-references and soap-wsdl-resolve-references

Source Code

;; Defined in /usr/src/emacs/lisp/net/soap-client.el.gz
(defun soap-resolve-references-for-binding (binding wsdl)
  "Resolve references for a BINDING type using the WSDL document.
See also `soap-resolve-references' and
`soap-wsdl-resolve-references'"
  (when (soap-name-p (soap-binding-port-type binding))
    (setf (soap-binding-port-type binding)
          (soap-wsdl-get (soap-binding-port-type binding)
                         wsdl 'soap-port-type-p)))

  (let ((port-ops (soap-port-type-operations (soap-binding-port-type binding))))
    (maphash (lambda (k v)
               (setf (soap-bound-operation-operation v)
                     (soap-namespace-get k port-ops 'soap-operation-p))
               (let (resolved-headers)
                 (dolist (h (soap-bound-operation-soap-headers v))
                   (push (list (soap-wsdl-get (nth 0 h) wsdl)
                               (intern (nth 1 h))
                               (nth 2 h))
                         resolved-headers))
                 (setf (soap-bound-operation-soap-headers v)
                       (nreverse resolved-headers))))
             (soap-binding-operations binding))))