CORBA Python Query

  • Thread starter Akhilesh S. Shirbhate
  • Start date
A

Akhilesh S. Shirbhate

Sorry for reposting, but please help me... I desperately need help.

I wrote a small CORBA program and am using ORBit-python.
The IDL file was as below:
---------------------------
module MESSAGING
{
typedef sequence<string> msgLines;
struct msg
{
string fr;
string to;
msgLines body;
};
interface mail
{
void submit (in msg message);
};
};
---------------------------------



The server program is as below:
---------------------------------
#!/usr/bin/python
import CORBA
class mail:
msg = 0
def submit(self, msg):
print "Message Recieved from:", msg.fr
print "Message for:", msg.to
for line in msg.body:
print line
self.msgs = self.msgs + 1;
print "Message Served: ", self.msgs

CORBA.load_idl("msg.idl")
CORBA.load_idl("/usr/share/idl/name-service.idl")

orb = CORBA.ORB_init((), CORBA.ORB_ID)
poa = orb.resolve_initial_references("RootPOA")

servant = POA.MESSAGING.mail(mail())
poa.activate_object(servant)
ref = poa.servant_to_reference(servant)
open("./msg-server.ior","w").write(orb.object_to_string(ref))
print "Wrote IOR to file", orb.object_to_string(ref)
poa.the_POAManager.activate()
orb.run()
---------------------------------

After running the program, it gives the following errors:
---------------------------------
Traceback (innermost last):
File "./msg-server.py", line 14, in ?
CORBA.load_idl("msg.idl")
AttributeError: load_idl
---------------------------------

If I change the CORBA.load_idl to CORBA._load_idl then the error comes
at some other place... Namely below:

---------------------------------
Traceback (innermost last):
File "./msg-server.py", line 20, in ?
servant = POA.MESSAGING.mail(mail())
NameError: POA
---------------------------------

The CORBA module is dynamically loaded from the following file:
/usr/lib/python1.5/site-packages/CORBAmodule.so

I have installed orbit-python-0.3.0-1 on my machine.

Please help me out.. I need help desperately to run the server :((
Thanx in advance :)
 
D

Diez B. Roggisch

Akhilesh said:
---------------------------------
Traceback (innermost last):
File "./msg-server.py", line 20, in ?
servant = POA.MESSAGING.mail(mail())
NameError: POA
---------------------------------

No wonder, as you don't import a module named POA. As you seem to look for
the generated class of your dynamically loaded idl, you might try to use
the rootpoa, thus writing

servant = poa.MESSAGING.mail(mail())

notice the lower case.

If thats no help, look into the examples from orbit python, I bet you can
find something working there.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,152
Members
46,698
Latest member
LydiaHalle

Latest Threads

Top