Skip to main content

Problem:

  • Product: VisiBroker for C
  • Version: 6.5 and above
  • Component: Location Service
  • Platform/OS Version: All
  • Tested Versions: 7.0 & 8.0

A Java server is set with BY_INSTANCE policy and uses a ObjectId that contains "/" characters. When the VisiBroker for C client is requesting the osagent for information about that server using ObjLocation::Agent_var::all_available_descs() API, a structure below is received:

struct Desc
 {
 ::CORBA::Boolean activable;
 ::CORBA::String_var agent_hostname;
 ::CORBA::Object_var ref;
 IIOP::ProfileBody iiop_locator;
 ::CORBA::String_var repository_id;
 ::CORBA::String_var instance_name;
 };

In this structure, the entries "repository_id" and "instance_name" are empty for Java Servers.
For all other servers (implemented in C ) these fields are correctly filled.

Resolution:

An enhancement CR 9978 has been raised to document this issue. One workaround for this issue is to add to slashes(//) instead of one in the ObjectIds.

CORBA specs states the usage of "/" as a delimiter in the URL, or as the separator in the Naming Service and to mention hierarchy in the POA name. Hence, VisiBroker does not encourage using the slash as a part of ObjectId.

This issue occurs only when the client is VisiBroker for C implementation of all_available_descs() API. It does not occurs for the VisiBroker Java client.


#ObjectId
#VisiBroker
#LocationService
#Security