[omniORB] Java, Python, CORBA
William Bauder
bill at simplified.biz
Wed Feb 11 11:51:00 GMT 2009
I don't know how it works with the orb init parameters, but this always
worked for me:
CORBA::Object_ptr
object=orb->string_to_object("corbaloc::localhost:900/NameService");
CosNaming::NamingContext_ptr
rootContext=CosNaming::NamingContext::_narrow(object);
-----Original Message-----
From: omniorb-list-bounces at omniorb-support.com
[mailto:omniorb-list-bounces at omniorb-support.com] On Behalf Of Jakub Moskal
Sent: Wednesday, February 11, 2009 11:36 AM
To: Duncan Grisby
Cc: OmniORB Support
Subject: Re: [omniORB] Java, Python, CORBA
Duncan,
I went after your advice and changed my python client code to:
javaParams = ["ORBInitialHost", "localhost", "ORBInitialPort", "900",
"ORBInitRef"] orb = CORBA.ORB_init(javaParams, CORBA.ORB_ID) obj =
orb.resolve_initial_references("NameService")
However, that throws: omniORB.NO_RESOURCES_InitialRefNotFound. I checked
open ports and as the documentation for orbd says, 900 and 1049 are being
listened by orbd. So I added the info about hte
InitRef:
javaParams = ["ORBInitialHost", "localhost", "ORBInitialPort", "900",
"ORBInitRef", "NameService=corbaname::localhost:1049"]
and it still gives me the same error.
I also tried 'orbd -ORBInitialPort 2809" - with the same results, Java
client connects, python throws InitialRefNotFound.
Thanks for help!
Jakub
On Wed, Feb 11, 2009 at 10:18 AM, Duncan Grisby <duncan at grisby.org> wrote:
> On Wednesday 11 February, Jakub Moskal wrote:
>
>> I wrote a server in Java and clients in Java and Python. Clients
>> connect and invoke methods without any problem when the object
>> reference is retrieved from a string. When I use 'orbd' and
>> NameService only the Java client connects, the python clients fails
>> with "omniORB.TRANSIENT_ConnectFailed". I init the ORB in python with
>> parameters " ["-ORBInitRef", "NameService=corbaname::localhost:900"]
>> ". What is the port on which 'orbd' runs its NameService? I tried
>> some other ports but all gave me the same error.
>
> Java's orbd doesn't support the interoperable naming service, so you
> can't use a corbaname URI to resolve it. The Java ORB uses a
> proprietary bootstrap mechanism invented by Sun. Luckily for you,
> omniORB supports it too. It should work if you use these arguments
> instead of the
> -ORBInitRef:
>
> -ORBInitialHost localhost -ORBInitialPort 900
>
>
>> My second question has to do with creating new objects. I wrote an
>> object factory on client that returns new objects which implement my
>> interfaces, e.g.
>
> Everything you've done looks fine, so I don't know why you'd be
> getting such a strange problem. It's definitely nothing to do with the
> omniORB end, though.
>
> Cheers,
>
> Duncan.
>
> --
> -- Duncan Grisby --
> -- duncan at grisby.org --
> -- http://www.grisby.org --
>
_______________________________________________
omniORB-list mailing list
omniORB-list at omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
More information about the omniORB-list
mailing list