[cl-soap-devel] a couple of bug fixes
Carlos Ungil
carlos.ungil at bluewin.ch
Wed Sep 7 22:39:02 UTC 2005
Hello,
I've been playing with the code, using openmcl:
[ http-client.lisp ]
117a118
> #+openmcl (ccl:make-socket :remote-host host :remote-port port)
soap-env and soapenv were used inconsistently:
[ namespaces.lisp ]
25c25
< (defparameter *soapenv-ns* (s-xml:register-namespace +soapenv-ns-uri+
"soap-env" :soapenv))
---
> (defparameter *soapenv-ns* (s-xml:register-namespace +soapenv-ns-uri+
"soapenv" :soapenv))
I found also a copy-paste bug
[ soap.lisp ]
41c41
< (detail (second (lxml-find-tag :|faultactor| (rest xml)))))
---
> (detail (second (lxml-find-tag :|detail| (rest xml)))))
and a bug in one of the test functions:
[ test-basic.lisp ]
94c94
< (if (eql (lxml-get-tag result) 'ns1:|serviceMethodResponse|)
---
> (if (eql (lxml-get-tag result) 'ns1::|serviceMethodResponse|)
The following changes are not so obvious, but they are an improvement
at least for the particular case I was testing. This requires an extra
pair of parentheses sorrunding the body in the examples provided (if I
understand correctly the body, and the header, can contain several
elements):
[ soap.lisp ]
60,62d59
< (defun soap-header (simple-header-alist)
< (cons 'soapenv:|Header| simple-header-alist))
<
64,69c61,67
< `((soapenv:|Envelope|
< :|xmlns:soapenv| ,+soapenv-ns-uri+
< :|xmlns:xsd| ,+xsd-ns-uri+
< :|xmlns:xsi| ,+xsi-ns-uri+)
< , at header
< (soapenv:|Body| ,body)))
---
> (append `((soapenv:|Envelope|
> :|xmlns:soapenv| ,+soapenv-ns-uri+
> soapenv:|encodingStyle| ,+soap-enc-ns-uri+
> :|xmlns:xsd| ,+xsd-ns-uri+
> :|xmlns:xsi| ,+xsi-ns-uri+))
> (when header `((soapenv:|Header| , at header)))
> `((soapenv:|Body| , at body))))
By the way, I cannot check out the cl-soap code using the command line
("/project/cl-soap/cvsroot: no such repository"), but the web interface
works.
Regards,
Carlos
More information about the cl-soap-devel
mailing list