[omniORB] omniORB 4.0.2 CORBA::SystemException
Lars Schouw
schouwla at yahoo.com
Thu Oct 23 17:44:27 BST 2003
I am getting a CORBA::SystemException from my client.
In my console I see this output
omniORB: Configuration file "C:\\OMNIORB.CFG" either does not exist or
is not a
file. No settings read.
omniORB: Distribution date: Thu Aug 7 00:54:21 BST 2003 dgrisby
omniORB: Information: the omniDynamic library is not linked.
omniORB: Creating ref to remote: root<67108864>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id: IDL:YieldCurve:1.0
omniORB: LocateRequest to remote: root<67108864>
omniORB: AsyncInvoker: thread id = 1 has started. Total threads = 1
omniORB: throw giopStream::CommFailure from
giopStream.cc:1061(0,NO,TRANSIENT_Co
nnectFailed)
Caught a CORBA::SystemException.
What does that mean? How can I get this to work?
Did I not install omniorb correct? I never ran the samle.reg file.
The simple echo sample works well with all the examples.
I am using omniorb 4.0.2, Visual Studio 6 SP6 and Windows 2K SP4.
I made my own version of eg2_clt.cpp that calls another idl interface.
idl file
interface YieldCurve {
exception Reject{ long Code; string Reason; };
typedef struct s_CrvDef
{
... < removed some code >
} CrvDef;
void getCrvDef(out CrvDef curvedef, in string env, in string
currency) raises (Reject);
};
Client source code
int main(int argc, char** argv)
{
try {
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
if( argc != 2 ) {
cerr << "usage: eg2_clt <object reference>" << endl;
return 1;
}
CORBA::Object_var obj = orb->string_to_object(argv[1]);
YieldCurve_var yieldcurveref = YieldCurve::_narrow(obj);
if( CORBA::is_nil(yieldcurveref) ) {
cerr << "Can't narrow reference to type YieldCurve (or it was
nil)." << endl;
return 1;
}
YieldCurve::CrvDef* pCrvDef = NULL;
// CORBA::String_var env = "tokreval";
// CORBA::String_var currency = "JPY";
try {
// I GET AN EXCEPTION HERE
yieldcurveref->getCrvDef(pCrvDef, "tokreval", "JPY");
}
catch(YieldCurve::Reject& ex_reject) {
cerr << "reject exception while calling the getCrvDef method" <<
endl;
return 1;
}
orb->destroy();
}
catch(CORBA::COMM_FAILURE& ex) {
cerr << "Caught system exception COMM_FAILURE -- unable to contact
the "
<< "object." << endl;
}
catch(CORBA::SystemException&) {
// THE EXCEPTION IS caught here
cerr << "Caught a CORBA::SystemException." << endl;
}
catch(CORBA::Exception&) {
cerr << "Caught CORBA::Exception." << endl;
}
catch(omniORB::fatalException& fe) {
cerr << "Caught omniORB::fatalException:" << endl;
cerr << " file: " << fe.file() << endl;
cerr << " line: " << fe.line() << endl;
cerr << " mesg: " << fe.errmsg() << endl;
}
catch(...) {
cerr << "Caught unknown exception." << endl;
} return 0;
}
Preprocessor defines:
WIN32,_DEBUG,_CONSOLE,_MBCS,__WIN32__,_WIN32_WINNT=0x0400,__x86__,__NT__,__OSVERSION__=4
I linked with these libs:
omniORB402_rtd.lib omnithread30_rtd.lib msvcstubd.lib kernel32.lib
user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib
Ignoring this lib: LIBCMTD
additional input path: C:\omniorb\omniORB-4.0.2\lib\x86_win32
I also tried out the same on VC7.1 with my own omniorb build.
I also tried on Solaris 8 with gcc 3.3.2 with my own build.
Both give me the the same exception.
The server is running under Linux.
note. cross-post from comp.lang.java.corba
Regards
Lars Schouw
---------------------------------
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20031023/c16e525f/attachment.htm
More information about the omniORB-list
mailing list