[cl-sockets-devel] Progress report on cl-soap extensions

Utz-Uwe Haus haus+cl-soap at mail.math.uni-magdeburg.de
Fri Apr 27 21:41:00 UTC 2007


Dear listmembers,

just letting you know that I successfully managed to query the
NCBI efetch soap service as described on
    <http://www.ncbi.nlm.nih.gov/entrez/query/static/esoap_help.html>
It seems to be one of the more complicated service definitions around
-- around 5000 schema elements (imported and included), recursive types,
ref elements that need late binding and have overridden attributes
etc. Unfortunately the wsdl files are buggy -- I am in contact with the
maintainers at the NIH.  The errors are actually found by cl-soap :)
(database results cannot be parsed with the given specification).

There remains a lot to be done.  Mainly, I would like any opinion you
may have on two major design issues that I need to address:

1) We will need proper namespace support -- the above wsdl uses 8
namespaces and schemata. This works quite nicely, but in the
parse-results we currently return strings as element names, and they do
not have namespace prefixes. Obviously this makes the output ambiguous
if the same name appears in more than one namespace.

I would like to fix this by returning (namespace-package-qualified-) symbols;
then we could map to print-name for existing code that expects strings.

2) In line with (1) and my goal to automatically generate lisp code for
the soap interface I would like to stuff always collect xml names in the
proper namespace's package and keep a global dictionary of schema
elements (and namespaces) in the cl-soap package. This sounds worse than
it is -- actually Allegro SOAP does just this (see soap-define-element
etc in their package).

If nobody objects I'll go ahead. If anybody wants to see the current
code let me know -- no public repository at hand, currently.

later,
Utz
-- 
Utz-Uwe Haus                               haus at mail.math.uni-magdeburg.de
Inst. f. Mathemat. Optim.                                    utz at uuhaus.de
Uni Magdeburg                    PGP keys  1024/6AD23BE1 and 2048/5D0B72A1
GERMANY                          available via keyservers or email request 



More information about the cl-soap-devel mailing list