Problem:
Product Name: VisiBroker for Java
 Product Version: 8.0 Service Pack 2 & below
 Platform/OS Version: All
When CORBA the server starts up, it registers the POA or object to the osagent. By default, the server will register to the osagent using the ip address of the Server. When the client invokes Bank.AccountManagerHelper.bind(orb, "BankManager", "host.a.com", null),the client orb will pass the host name to the osagent. Hence, the client orb receives the org.omg.CORBA.OBJECT_NOT_EXIST exception
 The test case will illustrate the differences between ip adress or host name registered with the osagent.
1. Run osagent and `vbj Server` at /examples/vbroker/basic/bank_agent. Server will register to osagent. Please note the service provider ("x.x.x.x_*_/bank_agent_poa") from the osagent log shown below.
==>> Sat Apr 25 00:21:23 2009, dsaclnt.C, 0, Inf
registerSvc() Received from client at
 Host : x.x.x.x
 User : java
 PID : -655465027
CAddr : x.x.x.x
VPort : 49492
CPort : 49492
 Registering the following service:
x.x.x.x_*_/bank_agent_poa
 at location address port .
 2. Modify the Client.java to use bind() supplied with the hostname (not IP address). For example,
Bank.AccountManagerHelper.bind(orb, "/bank_agent_poa", "sgrds-tss10", null); // supplying an object name
-- or --
Bank.AccountManagerHelper.bind(orb, "/bank_agent_poa", managerId, "sgrds-tss10", null); // supplying POA name
3. Compile and run `vbj Client` at /examples/vbroker/basic/bank_agent. Client will inquire from osagent with the following request information. Notice the service requested is "sgrds-tss10_*_/bank_agent_poa". osagent will not be able to match this from its list of service provider (it only has the "x.x.x.x_*_/bank_agent_poa" using the IP address) and will return org.omg.CORBA.OBJECT_NOT_EXIST.
==>> Sat Apr 25 00:34:04 2009, dsaclnt.C, 0, Inf
getProvider() Received from client at
 Host : x.x.x.x
 User : java
 PID : -654493787
CAddr : x.x.x.x
VPort : 3666
CPort : 3666
 Requesting for the following service:
sgrds-tss10_*_/bank_agent_poa
Resolution:
The vbroker.agent.backcompatBind property is introduced in VB8.0 Service Pack 2 to ensure backward compatible bind behavior. This property is applicable to client side only and the default value is false.
 
 In order to resolve the org.omg.CORBA.OBJECT_NOT_EXIST exception, the client must be run with `vbj -J-Dvbroker.agent.backcompatBind=true Client`. When the value is set to true, the underlying client ORB will convert the hostname supplied to bind() to IP address prior to sending to osagent. It will then match to the list of service providers registered with osagent.
 
 However, if you are using -J-Dvbroker.orb.localhost= on the server side, the server will register to osagent using the host name and not the IP address. You do not need to set the vbroker.agent.backcompatBind property explicitly. When the client execute the bind using the host name, you will get the server object reference.
 
#osagent
#backcompatBind
#VisiBroker
#localhost
#Security