Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TAO Naming_Service and JAVA IDL ?????? Any way other than IORs

0 views
Skip to first unread message

John S. Robinson

unread,
Apr 18, 1999, 3:00:00 AM4/18/99
to
How do you get JAVA 1.2.1 IDL clients to work with the TAO Naming_Service?
I have had
success getting the TAO Naming_Service to work with JAVA IDL clients if I
provide
the clients with the IOR of the TAO Naming_Service. I have had no luck in
getting JAVA clients
to work using orb.resolve_initial_references("NameService").

Using the java idl tutorial "hello world" at
http://java.sun.com/docs/books/tutorial/idl/hello/compiling.html :
I start the TAO Naming_Service by using a start up command such as:
E:\ACE_wrappers\TAO\orbsvcs\Naming_Service>naming_service -ORBport
900 -ORBdebug -ORBdebuglevel 1000

I would start up the HelloServer with a command such as:

java HelloServer -ORBInitialPort 900

It appears that the HelloServer client does contact the TAO name server, but
something gets fouled up on the wire.
In particular, the response of the Naming_Service after the HelloServer
client is started:

(323|335) connection from client QED
No match for the given ObjectID
No match for the given ObjectID
No match for the given ObjectID
(335) End of connection, transport handle 280
(323|335) TAO_Server_Connection_Handler::handle_close (280, 1)

The error reported by the java client is:

ERROR: org.omg.CORBA.OBJECT_NOT_EXIST: minor code: -65536 completed: No
org.omg.CORBA.OBJECT_NOT_EXIST: minor code: -65536 completed: No
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:239)
at
com.sun.CORBA.iiop.ReplyMessage.getSystemException(ReplyMessage.java:75)
at
com.sun.CORBA.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl.
java:85)
at
com.sun.CORBA.idl.InitialNamingClient.resolve(InitialNamingClient.java:200)
at
com.sun.CORBA.idl.InitialNamingClient.cachedInitialReferences(InitialNamingC
lient.java:275)
at
com.sun.CORBA.idl.InitialNamingClient.resolve_initial_references(InitialNami
ngClient.java:184)
at com.sun.CORBA.idl.ORB.resolve_initial_references(ORB.java:1098)
at HelloServer.main(HelloServer.java:30)


Randy Schnier

unread,
Apr 18, 1999, 3:00:00 AM4/18/99
to
The object reference key that the client requests is the string "INIT" (without
the quotes). Can you capture a wire trace of what the TAO client sends and post
it here? It would be useful to see what the TAO bootstrap server is expecting
and compare it with what the JavaIDL client is sending. It looks like there is
a mismatch between the two in the object key....

Note that there is a subtle difference between a Naming Server and the Bootstrap
Server (the JavaIDL resolve_initial_references is attempting to talk with the
latter kind). The bootstrap server, which typically listens on port 900, must
be able to respond to a "bootstrap request" (i.e. the request for the object
with the key of INIT). The naming server is more of a standard object server
with typical object keys, that is, the key is a string of bytes of the server's
choosing. If the TAO name server is not designed to be a Bootstrap Server,
merely setting it to listen on port 900 will not be sufficient to get it to
respond correctly to the JavaIDL resolve_initial_references call -- it must also
know how to respond to the special init request like a bootstrap server would.
I don't know enough about TAO to judge whether what you are doing should be
working or not.

Randy Schnier

"John S. Robinson" wrote:

--
Randy Schnier
(remove _NOSPAM_ in address when replying)

0 new messages