[omniORB] Java, Python, CORBA

Jakub Moskal jmoskal at ece.neu.edu
Wed Feb 11 12:16:58 GMT 2009


I just tried something else - I ran omniNames and connected the Java
server to it (on 2809). Now both Java and Python client connect with
the NameService properly. Somehow my python client didn't want to talk
to orbd, but that's fine. I can use omniNames instead.

Thanks for all your help!
Jakub

On Wed, Feb 11, 2009 at 12:08 PM, Jakub Moskal <jmoskal at ece.neu.edu> wrote:
> William,
>
> here is what I get:
>
> javaParams =  ["ORBInitialHost", "localhost", "ORBInitialPort" "900"]
> orb = CORBA.ORB_init(javaParams, CORBA.ORB_ID)
> obj = orb.string_to_object("corbaloc::localhost:900/NameService")
> rootContext = obj._narrow(CosNaming.NamingContext)  // exception thrown
>
> throws: omniORB.TRANSIENT_ConnectFailed.
>
> I have no idea what is wrong at this point.. Is there anything I need
> to do with "-ORBno_bootstrap_agent" ?
>
> Thanks!
> Jakub
>
>
> On Wed, Feb 11, 2009 at 11:51 AM, William Bauder <bill at simplified.biz> wrote:
>> 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