I have couple of problems with NameService.
- AddressClient failed with NumberFormatException.
I Uncommented code that had CosNaming parts in it.
Code resulted in NumberFormatException.
It turned out, that there was a bug in AORB.cpp(??):
I changed Short::parseShort(port) to Integer::parseInt(port)
(my port was 41293)
- Then it failed on
Caught Throwable in System::main(): acdk::io::EOFException. thrown in acdkx/orb/GIOPMessage.cpp:120
- I changed "corbaloc:..." to IOR of the namesrv.
- It worked fine, but CosNaming::list() is not implemented.
- Then I tried to use mico nameservice, but I get
Caught Throwable in System::main(): Cannot cast type [::acdkx::com::RCorObject] to [::org::omg::CosNaming::RNamingContext]
Any idea what is going on here???
I got Mico Name Service ref by changing
nsref in AddressClient from "IOR:..." to
Roger Rene Kommer
To be frank the acdkx_orb package is quite old and I hadn't used it in a production environment for a couple of years.
In the past I've used it with mico and a Java ORB, but only used only very basic things.
I can put some work into this package if anybody requires, but I need some days/weeks (pending of the amount).
Are you finally successfully establish a connection between acdkx_orb and mico?
Yes! I believe so. I saw from the GIOP debugging,
that Mico nsd throw AlreadyBound exception to my client.
That's all the testing I had time to do earlier. So, at least
Mico nsd is responding somehow...
There is something strange going on with ORB.
For acdk_nameservice, worked with IOR, but not with corbaloc
for mico_ns, worked with corbaloc, but not with IOR
For the acdk_namesrv, It would be nice if
list(...) method is implemented.
I created an implementation of JNDI with acdk. For
testing, I'm using mico.
If I bind an acdk object with this jndi implementation
(wrapped in acdkx::orb::AcdkObject) and then list context, I
can see that my object is bound to name service.
However, if I use Mico nsadmin, I cannot see
this acdk object. Any ideas why not???
Roger Rene Kommer
No I have no idea.
You have implemented the binary compatible
JDNI protocol and try to couple this with a
JNDI is just an interface.
I think that my problems were related to
acdkmake(acdkmc). Not having all the needed
declarations(or class attributes) in place.
Anyway, now it's working just fine.