[omniORB] bugreport

Bert Thomas bert@brothom.nl
Wed, 21 Mar 2001 14:29:52 +0100



Leandro Fanzone schreef:
> 
> I'm using CorbaScript, moved from mico to omni using omniifr with no
> problems. Which features do you see it lacks?

Yesterday I got a really weird exception, but I don't remember exactly
how I did that. However, I have produced something that you should be
able to verify. I tried the hello example in de CorbaScript demo
directory. 

First with omniifr:

1. started omniifr with -ORBpoa_iiop_port 9990
2. feeded CosNaming.idl from the CorbaScript idl directory to the ifr
with omniidl 
3. feeded hello.idl to the ifr with omniidl
4. started the HelloServer.cs script

what happend was that I got a message telling me that it couldn't narrow
[["HELLO",""]] to type string at the
NS.bind(...) line. 

So I started CorbaScript interactive, resolved the nameservice and asked
for the NS.bind function "syntax":

H:\CorbaScript-1.3.4\idl>cssh
CorbaScript 1.3.4 (Mar 13 2001) for omniORB3 for C++
Copyright 1996-2001 LIFL, France
>>> NS=CORBA.ORB.resolve_initial_references("NameService")
>>> NS.bind
< OMG-IDL operation void CosNaming::NamingContext::bind (in string n, in
string
obj) raises(CosNaming::NamingContext::NotFound,
CosNaming::NamingContext::Cannot
Proceed, CosNaming::NamingContext::InvalidName,
CosNaming::NamingContext::Alread
yBound); >
>>>

Suprise! Both parameters are now of type string, while they should be
something completely different.

Then I tried the same thing again, now using the interface repository of
ORBacus. This time everything works as expected. So I must conclude that
there's something wrong with omniifr.

What version of omniORB are you using? I'm using omniORB303 with the
"latest" release of CorbaScript 1.3.4.

Here's the output using ORBacus IFR:

H:\CorbaScript-1.3.4\idl>cssh
CorbaScript 1.3.4 (Mar 13 2001) for omniORB3 for C++
Copyright 1996-2001 LIFL, France
>>> NS=CORBA.ORB.resolve_initial_references("NameService")
>>> NS.bind
< OMG-IDL operation void CosNaming::NamingContext::bind (in Name n, in
Object ob
j) raises(CosNaming::NamingContext::NotFound,
CosNaming::NamingContext::CannotPr
oceed, CosNaming::NamingContext::InvalidName,
CosNaming::NamingContext::AlreadyB
ound); >
>>>