I am working on getting ORBit 0.5.17 and CORBA-ORBit 0.4.7 working a Solaris 2.7 box. I believe the installation of both ORBit and CORBA-ORBit work fine. I am experiencing the error below when running a simple PERL client program (this script is listed below). Would anyone have any information as to what is causing this error and how I might fix it?
Thank you.
Jason Verbeek
Error:
bash-2.03$ ./client.pl
ETMSAttr.idl:548: Warning: Case mismatch between `country'
ETMSAttr.idl:549: Warning: and `Country'
ETMSAttr.idl:549: Warning: (Identifiers should be case-consistent after initial declaration)
ETMSAttr.idl:977: Warning: Case mismatch between `orderNum'
ETMSAttr.idl:1001: Warning: and `OrderNum'
ETMSAttr.idl:1001: Warning: (Identifiers should be case-consistent after initial declaration)
EBAttr.idl:221: Warning: Case mismatch between `serviceId'
EBAttr.idl:222: Warning: and `ServiceId'
EBAttr.idl:222: Warning: (Identifiers should be case-consistent after initial declaration)
** WARNING **: dcl=country
** ERROR **: file idl.c: line 629 (get_ident_typecode): assertion failed: (IDL_NODE_TYPE (IDL_NODE_UP (parent)) == IDLN_TYPE_DCL)
aborting...
Abort
bash-2.03$
The client program is:
#!/usr/bin/perl
# Load in the IDL file so that the program knows the interfaces of the objects o
n the CORBA server.
use CORBA::ORBit idl => [ qw(IPST.idl) ];
# Create a client ORB object that will connect to the CORBA server
print "about to make orb object\n";
my $orb = CORBA::ORB_init("orbit-local-orb");
print "about to read ior\n";
# Read the IOR from a file into a variable.
open IOR, "FFHelperObj.ior";
my $ior = <IOR>;
close IOR;
print "chomping ior\n";
# Chomp any terminal '\n' and whitespace off the IOR string.
chomp($ior);
print "about to use ior to get ref to object on server\n";
# Use the IOR to get the reference to the CORBA object on the server.
my $secretmessage = $orb->string_to_object($ior);
print "calling the interface method of the obj\n";
# Call the interface method of the CORBA object.
my $message = $secretmessage->testMethod;
# Print the message to the screen
print "Secret message is ", $message, "\n";