[cl-soap-devel] a couple of bug fixes
Sven Van Caekenberghe
scaekenberghe at common-lisp.net
Thu Sep 8 15:45:30 UTC 2005
Hi Carlos,
On 08 Sep 2005, at 00:39, Carlos Ungil wrote:
> Hello,
>
> I've been playing with the code, using openmcl:
I was (happily) surprised to find that somebody is already checking
out this code!
I am still in the process of writing it, it is far from ready (pre-
pre alpha).
I am even more surprised that you even managed to make some SOAP calls !
> [ 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
I applied all your changes expect that ones to the envelope.
I understand what you are getting at (more or less - but not
completely).
The soap encoding style is only applicable to rpc style
conversations, no ?
Could you maybe give an example (and xml wire dump) to show what you
mean ?
I will look into the regular cvs checkout to see what is wrong there...
In any case, thanks for the interest.
Sven
More information about the cl-soap-devel
mailing list