CORBA IDL type objects serialization problems

D. Lopez-De-Ipina dl231 at
Thu Aug 5 12:34:52 EDT 1999


I am trying to store CORBA IDL type objects in a Python shelve. I am
using Fnorb ORB. I managed to serialize CORBA.string type values but
when I try with other simple built-in types such as short, the program
crashes. I have included the code that doesn't work and the resulting
stack trace. I wonder if anybody could please explain why CORBA.string
IDL type can be serialized and not the others? If it is possible and
I have just done something wrong, would if be possible to serialize user
defined IDL types on a server without this one having knowledge of the
IDL type trasferred within an Any?

Very grateful,


#!/usr/bin/env python

import shelve

# Fnorb modules.
from Fnorb.orb import CORBA

if __name__ == '__main__':
  dictionary ='dummy')
  dictionary['str'] = CORBA.Any(CORBA.TC_string, 'hello')
  print "dictionary['str']:", dictionary['str'].value()

  dictionary['short'] = CORBA.Any(CORBA.TC_short, 5)
  print "dictionary['short']:", dictionary['short'].value()

[dl231 at worthingtons DynAny]$ python
dictionary['str']: hello
Traceback (innermost last):
  File "", line 14, in ?
    print "dictionary['short']:", dictionary['short'].value()
  File "/lce/lib/python1.5/", line 65, in __getitem__
    return Unpickler(f).load()
TypeError: ('too many arguments; expected 1, got 2', <class
Fnorb.orb.TypeCode.ShortTypeCode at 8170908>, (tk_short,))

More information about the Python-list mailing list