20120508

CBSS connection

After having fiddled and fought with lino.utils.xmlgen, lxml and elementtree, there is now hope that I finally found what I have been looking for: I discovered the suds.sax module for which the docs say say that it “was written because elementtree and other python XML packages either: have a DOM API which is very unfriendly or: (in the case of elementtree) do not deal with namespaces and especially prefixes sufficiently.”

lino.utils.xmlgen.cbss is no longer used. Everything is now in lino.modlib.cbss and uses Suds. New table RetrieveTIGroupsRequest.

Added test cases lino.modlib.cbss.tests.cbss_tests Seems that I’m now ready to run these tests at the customer from behind a registered IP address. This requires to set up a test instance on their server, and that’s for tomorrow.

http://code.google.com/p/lino/source/detail?r=cf29f855b734 at 1:33, long after I should have gone to bed.

Note: when Lino starts up, it generates two files to WebServiceConnector.wsdl and RetrieveTIGroupsV3.wsdl into media/cache/wsdl. These are needed for the suds Client, and Lino must generate them from the original files provided by the CBSS, of which the copy is stored in Lino’s source repository lino/modlib/cbss/XSD (in fact this is not a simple copy but a template, containing a pattern %s(cbss_environment)s where the real location must get filled in. There are also (currently) two xsd files RetrieveTIGroupsV3.xsd and rn25_Release201104.xsd which are a completely unmodified copy of the original CBSS files. But they also need to be in the same directory media/cache/wsdl.