CORBA::Object - The base class for all object references


  use lib "$ENV{OPALORB_ROOT}";
  use CORBA;
  use CORBA::Exception;
  my $status = 0;
  try {
    my $orb = CORBA::ORB_init(\@ARGV);
    my $obj = $orb->string_to_object($ior);
    my $req;
    my $ret = new CORBA::NamedValue();
    $obj->_create_request(undef, 'test', [], \$ret, \$req);
  catch CORBA::Exception with {
    my $ex = shift;
  catch Error::Simple with {
    my $ex = shift;


The CORBA::Object is the base class for all interfaces and provides a few interesting methods.


_id - Returns the repository id ( of CORBA::Object.

_is_a - Takes a repository id as the only parameter and compares it to the repository id of itself.

_is_equivalent - A simple minded equivalence test for object references. It only compares the repository id's and the number of profiles in each object reference.

_non_existent - Returns true if called on a narrowed object reference and the remote invocation fails.

_repository_id - Returns the repository id of the object reference which may be different from the repository id returned by _id.

_get_orb - Returns the ORB associated with this object reference.

_create_request - Provide the context reference (or undef), the operation name string, the CORBA::NamedValue array reference, the CORBA::NamedValue result reference, and the scalar reference in which the new CORBA::Request object will be placed.