Probelm in marshaling Any with typecode/value of struct

Ajay Kapoor Ajay.Kapoor at cosinecom.com
Wed Apr 3 17:57:58 EST 2002


Hi ,

      I am trying to pass a structure as CORBA.Any. I am constructing the
TypeCode using the stringified Fnorb id.
      But at the runtime while sending the corba request I get the
marshaling error for CORBA.Any
     Here is the code snippet for what I am doing

    idl definition
-----------------------------------
     module agent {

             interface GenericAgent
                { 

                      struct NameValuePair
                        {
                         string name;
                          any value;
		    };
 		struct Subnet
		{
		    string address;  /* 32 bit mask  */
		    short mask;      /* 0..32        */
		};
           } };

Now I am trying this

  # got the corba object reference some how
     agent =  reference
     sn_tc =CORBA.TypeCode("IDL:cosinecom/agent/common/Subnet:1.0")  #
string is the Fnorb generated ID
     srcSubnet =
agent.NameValuePair("sourceSubnet",CORBA.Any(sn_tc,Subnet("3.3.3.3",24)))
......
     # making the request
      agent.createObject(srcSubnet)



------------------------------------------------------------------

I have also tried using
tc=  CORBA.TypeCode(CORBA.id(Subnet) )  to construct the typecode and use it
with Any . But that also failed.

I am getting the following error in all the cases.

 File
"/vobs/orion/cosine/agent_cli/generated/fnidl/cosinecom/agent/__init__.py",
line 85, in createObject
    apply(request.invoke, args, kw)
  File "/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/DII.py", line
160, in invoke
    (forwarded, self.__results) = client.synchronous(self, args)
  File
"/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/GIOPClient.py", line
117, in synchronous
    self.__marshal_parameters(cursor, request.inputs(), parameters)
  File
"/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/GIOPClient.py", line
461, in __marshal_parameters
    typecode._fnorb_marshal_value(cursor, parameters[i])
  File "/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/TypeCode.py",
line 2121, in _fnorb_marshal_value
    self._element_type._fnorb_marshal_value(cursor, element)
  File "/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/TypeCode.py",
line 1476, in _fnorb_marshal_value
    member.type._fnorb_marshal_value(cursor, dict[py_member_name])
  File "/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/TypeCode.py",
line 794, in _fnorb_marshal_value
    value._fnorb_marshal(cursor)
  File "/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/Any.py", line
77, in _fnorb_marshal
    self.__typecode._fnorb_marshal(cursor)
  File "/dvlp/akapoor/Python-1.5.2/Lib/site-packages/Fnorb/orb/TypeCode.py",
line 216, in _fnorb_marshal
    cursor.marshal('L', self._kind.value()) 
AttributeError: 'string' object has no attribute 'value'


Can somebody help me.

Thanx
Ajay Kapoor

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20020403/72754ed0/attachment.html>


More information about the Python-list mailing list