To be able to use ClassiX® Corba Interfaces, it is necessary to first setup the CORBA environment. ClassiX® uses TAO as a CORBA solution.
Here it is enough to adopt the directory \classix\bin\ACETAO into
the search path.
The directory contains a number of DLLs and an .EXE file, which is basically the
naming service (see below). The DLLs need to be readable and executable for all
users.
With this, the setup is complete.
To exchange messages between different ClassiX® instances via SendMsg(..., REMOTE), there must be a Corba naming service in the network. This naming service finds the single instances.
Naming_Service.exe represents the TAO naming service. In the
normal operation mode, the program generates no message.
A TCP/IP port which accepts connections, needs to be defined when calling the naming service. This is done with the following command line:
Naming_Service.exe -ORBEndPoint iiop://hostname:port
With this, hostname and port need to be replaced by the required values. If the naming service should be accessible for other computers on the network, hostname needs to identify an external interface - the local loopback interface address (127.0.0.1) is not suited for this. Router and maybe a firewall certainly need to be configured on the network, so all computers which have to use the service, can be connected. Furthermore, Naming_Service.exe needs to be authorized to connect to the indicated port.
On client side, the address either needs to be put into an environment variable:
SET NameServiceIOR=corbaloc:iiop:hostname:port/NameService
or it has to be passed via command line parameter:
cx_osr.exe -ORBInitRef NameService=corbaloc:iiop:hostname:port/NameService
In case you have access to the ClassiX Cxsendmsg Tool, you can check whether the Corba naming service generally works in your network or not. Starting from a network with no Corba applications so far, you need to conduct the following steps:
Naming_Service.exe -ORBEndPoint iiop://localhost:12345cxsendmsg.exe -P -N -l corbareceive -ORBInitRef NameService=corbaloc:iiop:localhost:12345/NameServicecxsendmsg.exe -S -r corbareceive -m TEST_CORBA -ORBInitRef NameService=corbaloc:iiop:localhost:12345/NameServiceYou should now be able to see incoming messages on the Cxsendmsg receiver console ("TEST_CORBA"). With the specification "localhost" at the top, the naming service only accepts requests from the own computer. After this first test was successful, please check whether connections can also be made via network. For this, please end the naming service first. Execute the steps from above again, but replace all three "localhost" occurrences with an IP address, which indicates an external interface. Please also call Cxsendmsg on different computers. You should also be able to see incoming messages under these circumstances.
In case no naming service can be found, a problem report appears as soon as functions, such as EnableRemoteMessages or RemoteClients are called. To avoid this, it can be checked before via function RemoteServicesAvailable, whether CORBA (or another remote service) is available at all.
Last modifications: 2007-02-13