Burak, i tried that AnyDict but got an exception:

Traceback (most recent call last):
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/server/wsgi.py",
 line 200, in __call__
    return self._verb_handlers[verb](req_env, start_response)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/server/wsgi.py",
 line 292, in handle_rpc
    self.get_out_string(ctx)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/server/_base.py",
 line 112, in get_out_string
    message=self.app.out_protocol.RESPONSE)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/soap/soap11.py",
 line 316, in serialize
    self.app.interface.get_tns(), out_body_doc)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/xml/_base.py",
 line 134, in to_parent_element
    handler(self, cls, value, tns, parent_elt, * args, ** kwargs)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/xml/model/_base.py",
 line 38, in wrapper
    func(prot, cls, value, tns, parent_elt, *args, **kwargs)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/xml/model/complex.py",
 line 64, in complex_to_parent_element
    get_members_etree(prot, cls, inst, element)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/xml/model/complex.py",
 line 53, in get_members_etree
    prot.to_parent_element(v, subvalue, cls.get_namespace(), parent, k)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/xml/_base.py",
 line 134, in to_parent_element
    handler(self, cls, value, tns, parent_elt, * args, ** kwargs)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/xml/model/_base.py",
 line 38, in wrapper
    func(prot, cls, value, tns, parent_elt, *args, **kwargs)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/protocol/xml/model/primitive.py",
 line 48, in dict_to_parent_element
    dict_to_etree(value, e)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/util/etreeconv.py",
 line 60, in dict_to_etree
    dict_to_etree(v, child)
  File 
"/usr/local/lib/python2.6/dist-packages/rpclib-2.7.0_beta-py2.6.egg/rpclib/util/etreeconv.py",
 line 55, in dict_to_etree
    if len(v) == 0:
TypeError: object of type 'NoneType' has no len()



______________________________________________________________
> Od: "Burak Arslan" <[email protected]>
> Komu: azurIt <[email protected]>
> Dátum: 05.04.2012 23:35
> Predmet: Re: [Soap-Python] rpclib - dynamic key names
>
> CC: [email protected]
>On 04/05/12 22:01, azurIt wrote:
>> I'm not having problems with creating such an object but i don't know how to 
>> return it via SOAP. What should i set as a return value to @srpc?
>
>why not just use the AnyDict or AnyXml types?
>
>>
>>
>> ______________________________________________________________
>>> Od: "Chris Austin"<[email protected]>
>>> Komu: azurIt<[email protected]>
>>> Dátum: 05.04.2012 20:45
>>> Predmet: Re: [Soap-Python] rpclib - dynamic key names
>>>
>>> CC: [email protected]
>>> Would something like the following work for you?
>>>
>>>>>> from rpclib.model.complex import ComplexModel
>>>>>> class A(ComplexModel):
>>> ...     def foo(self):
>>> ...         return "bar"
>>> ...
>>> ...
>>> ...
>>>>>> from rpclib.model.primitive import Unicode
>>>>>> for x in xrange(5):
>>> ...     setattr(A, "u%s" % x, Unicode)
>>> ...
>>> ...
>>>>>> dir(A)
>>> ['Annotations', 'Attributes', 'Empty', '__class__', '__delattr__', 
>>> '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', 
>>> '__hash__', '__init__', '__len__', '__metaclass__', '__module__', 
>>> '__namespace__', '__new__', '__reduce__', '__reduce_ex__', '__rep
>>> r__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 
>>> '__type_name__', '__weakref__', '_force_own_namespace', '_s_customize', 
>>> '_type_info', 'alias', 'customize', 'foo', 'from_string', 
>>> 'get_deserialization_instance', 'get_flat_type_info', 'get_members_pairs',
>>> 'get_namespace', 'get_namespace_prefix', 'get_serialization_instance', 
>>> 'get_simple_type_info', 'get_type_name', 'get_type_name_ns', 'is_default', 
>>> 'produce', 'resolve_namespace', 'to_dict', 'to_string', 
>>> 'to_string_iterable', 'u0', 'u1', 'u2', 'u3', 'u4', 'validate_nativ
>>> e', 'validate_string']
>>>>>> A.u0
>>> <class 'rpclib.model.primitive.Unicode'>
>>>     
>>> On Apr 5, 2012, at 11:11 AM, azurIt wrote:
>>>
>>>> Hi,
>>>>
>>>> any hints how can i return data structure with dynamic key names (so they 
>>>> cannot be specified in type definition)? For example, something like this:
>>>>
>>>> data = {}
>>>> for i in xrange(1000):
>>>>   data["a%s" % i] = u"something"
>>>> return data
>>>>
>>>>
>>>> without creating type:
>>>>
>>>> class test(ComplexModel):
>>>>   a0 = Unicode
>>>>   a1 = Unicode
>>>>   ...
>>>>   a999 = Unicode
>>>>
>>>>
>>>> Thnx!
>>>>
>>>> azur
>>>> _______________________________________________
>>>> Soap mailing list
>>>> [email protected]
>>>> http://mail.python.org/mailman/listinfo/soap
>>> Chris Austin
>>> [email protected]
>>>
>>>
>>>
>>>
>> _______________________________________________
>> Soap mailing list
>> [email protected]
>> http://mail.python.org/mailman/listinfo/soap
>
>
_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap

Reply via email to