[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