<DIV><PRE>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);
<FONT color=#660066>};</FONT>
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;
<FONT color=#660066> }</FONT>
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;
<FONT color=#660066> }</FONT>
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");
<FONT color=#660066> }</FONT>
catch(YieldCurve::Reject& ex_reject) {
cerr << "reject exception while calling the getCrvDef method" <<
endl;
return 1;
<FONT color=#660066> }</FONT>
orb->destroy();
<FONT color=#660066> }</FONT>
catch(CORBA::COMM_FAILURE& ex) {
cerr << "Caught system exception COMM_FAILURE -- unable to contact
the "
<< "object." << endl;
<FONT color=#660066> }</FONT>
catch(CORBA::SystemException&) {
// THE EXCEPTION IS caught here
cerr << "Caught a CORBA::SystemException." << endl;
<FONT color=#660066> }</FONT>
catch(CORBA::Exception&) {
cerr << "Caught CORBA::Exception." << endl;
<FONT color=#660066> }</FONT>
catch(omniORB::fatalException& fe) {
cerr << "Caught omniORB::fatalException:" << endl;
cerr << " file: " << fe.file() << endl;
cerr << " line: " << fe.line() << endl;
cerr << " mesg: " << fe.errmsg() << endl;
<FONT color=#660066> }</FONT>
catch(...) {
cerr << "Caught unknown exception." << endl;
<FONT color=#660066> } return 0;
}</FONT>
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
</PRE><PRE>I also tried out the same on VC7.1 with my own omniorb build.<BR>I also tried on Solaris 8 with gcc 3.3.2 with my own build.<BR>Both give me the the same exception.<BR><BR></PRE><PRE>The server is running under Linux.<BR></PRE><PRE>note. cross-post from <A href="http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&group=comp.lang.java.corba"><FONT color=#551a8b>comp.lang.java.corba</FONT></A><BR></PRE><PRE>
Regards
Lars Schouw</PRE></DIV><p><hr SIZE=1>
Do you Yahoo!?<br>
<a href="http://shopping.yahoo.com/?__yltc=s%3A150000443%2Cd%3A22708228%2Cslk%3Atext%2Csec%3Amail">The New Yahoo! Shopping</a> - with improved product search