From: Torsten A. <c2k...@gm...> - 2008-05-28 10:07:22
|
Hello, I got a quick question concerning the mapping of xsd sequences to Python classes. The Cookbook (http://pywebsvcs.sourceforge.net/cookbook.pdf) gives an example in section 5.5 how to deal with complex, unbounded sequences. I got the same problem as it is stated there. I need to create on the client site a sequence, which may contain none or more elements. This works as input to one of the functions on server site. The solution, so the cookbook, is to use the helper functions generated by the wsdl2px --complexType option. I did that, but I don't think those classes have been included in the servicename_services_types.py file. The file only includes one class: ns0, which then defines all the complex xsd types, e.g. ------------------------------------------------------------------------ class ns0: targetNamespace = "http://ots.comnets.rwth- aachen.de/ns/ots2/transport/OTS_Transport_SOAP" class testResponse_Dec(ZSI.TCcompound.ComplexType, ElementDeclaration): literal = "testResponse" schema = "http://example.com" def __init__(self, **kw): ns = ns0.testResponse_Dec.schema TClist = [ZSI.TC.String(pname="out", aname="_out", minOccurs=1, maxOccurs=1, nillable=False, typed=False, encoded=kw.get("encoded"))] kw["pname"] = ("http://example.com","testResponse") kw["aname"] = "_testResponse" self.attribute_typecode_dict = {} ZSI.TCcompound.ComplexType.__init__(self,None,TClist,inorder=0,**kw) class Holder: __metaclass__ = pyclass_type typecode = self def __init__(self): # pyclass self._out = None return Holder.__name__ = "testResponse_Holder" self.pyclass = Holder # and so on all the other xsd types ------------------------------------------------------------------------ But I cannot see how I should use these definitions for generating the input. The cookbook uses ZSI 2.0, so am I. Am I just being stupid or how can I get rid of my problem? Many thanks for your help! Cheers, Torsten |