AW: [omniORB] OrbixWeb server answers OBJECT_NOT_EXIST while invo
king
Schmidmeier, Arno
Arno.Schmidmeier@sirius-eos.com
Thu, 5 Aug 1999 13:26:28 +0200
Hello Robert,=20
hello everybody,
Just at the beginning, what was the result of your chat with the
OrbixWeb-guys?
I run in the same problem with MICO, and verified that it is the same
problem with OmniORB.
However there is also a workaround in the Code of your working =
application.
Under some circumstances, it is sometimes just a reconfiguration issue =
of
the server application :-), if you are lucky, if not you might be lost. =
:-(
Based on the analysis of the orbixdj log file, I got the assumption =
that the
orbixdj is buggy.
So I my attempt was configure the server applications not to use the =
orbixdj
deamon.
(Drawback, You can only have persistant servers).
What I did, for the workaround is, I configured the server to use the
portnummer of the serverapplication and not the portnumber of the
orbixwebdeamon. The portnummer of the orbixwebdeamon is the deafault. =
Any
invocations are redirected to the real application from the orbixdj.=20
It seems to me, that it is the orbixdj, which is causing the problem.
Following code statements reconfigures the application, to use its own
portnumber in the IORs, and not the portnumber of the server =
application:
((IE.Iona.OrbixWeb.CORBA.ORB)
orb).setConfigItem("IT_IIOP_USE_LOCATOR","true");
The serverapplication must already know its portnumber before the =
invocation
of . ((IE.Iona.OrbixWeb.CORBA.ORB)
orb).setConfigItem("IT_IIOP_USE_LOCATOR","true");
You could do it, with
IE.Iona.OrbixWeb.Features.Config.setConfigItem("IT_IIOP_LISTEN_PORT",Str=
ing.
valueOf(2004));
Both of these parameters can be defined via the commandline, or via the
orbixweb properties file
(till 3.1, I have not checked the update 3.2)=20
Arno Schmidmeier
P.S.: I was never on the payroll of Iona, I have also no contracts with
Iona, except the license agreements. I have only the need to connect to
OrbixWeb-Server Applications.
************************************************************************=
*
************************************************************************=
*
Arno Schmidmeier
Sirius
Simplicity out of complexity
Arno.Schmidmeier@sirius-eos.com
Phone 0049/89/ 61 36 76-37
Fax 0049/89/ 61 36 76-33
> -----Urspr=FCngliche Nachricht-----
> Von: rob@bodab.se [SMTP:rob@bodab.se]
> Gesendet am: Dienstag, 18. Mai 1999 14:32
> An: 'Sai-Lai Lo'
> Cc: Omniorb-List (E-mail)
> Betreff: RE: [omniORB] OrbixWeb server answers OBJECT_NOT_EXIST while
> invoking
>=20
> That's Right Sai-Lai!
>=20
> That did it, I commented out two rows and recomplied OmniORB and now =
it
> works.
> I'll have a chat with the OrbixWeb guys.
>=20
> Just another question: is it safe to run with these binaries without =
the
> asserts as a temporary solution?
>=20
> /Robert
>=20
>=20
> > -----Original Message-----
> > From: owner-omniorb-list@uk.research.att.com
> > [mailto:owner-omniorb-list@uk.research.att.com]On Behalf Of Sai-Lai =
Lo
> > Sent: Tuesday, May 18, 1999 12:01 PM
> > To: rob@dtek.se
> > Cc: omniorb-list@uk.research.att.com
> > Subject: Re: [omniORB] OrbixWeb server answers OBJECT_NOT_EXIST =
while
> > invoking
> >
> >
> > >>>>> Robert Schumann writes:
> >
> > > I have no control over the OrbixWeb server, my only job is
> > to make a client,
> > > several hundred miles away from the server, situated on
> > another consulting
> > > firm. Do you mean that I should use something like
> > TestSrv->connect() before
> > > I invoke any method?
> >
> > > This is all I do:
> >
> > > CORBA::Object_var obj =3D =
orb->string_to_object(stringified_IOR);
> > > // ***** The IDL is modules in modules... ******
> > > country::company::project::hack::Test_ptr TestSrv =3D
> > > country::company::project::hack::Test::_narrow(obj);
> > > //******* This is where I get the exception
> > OBJECT_NOT_EXIST *******
> > > dest=3DTestSrv->getResponse(src);
> >
> > Robert,
> >
> > Your code looks correct. This is such a straight forward
> > invocation that
> > one would expect it would work first time.
> >
> > My guess is that OrbixWeb is not able to response correctly
> > to the GIOP
> > message, LocateRequest. Before omniORB2 invoke on an object
> > the first time,
> > it always issue a LocateRequest. The ORB is expected to response =
with
> > object is here or object not exists.
> >
> > To check if this is the case, unfortunately it is necessary
> > to edit the
> > library source to remove a statement:
> >
> > <top>/src/lib/omniORB2/orbcore/proxyCall.cc:
> >
> > Comment out any call to assertObjectExistent().
> >
> > I appreciate your effort to track down the problem. I'm quietly
> > confident that it is a problem with OrbixWeb. If you can
> > verify this is the
> > case, please contact Iona to tell them to sort out the problem. It =
is
> > becoming rather annoying to cope with interoperability bugs in =
Orbix*.
> >
> > Sai-Lai
> >
> > --
> > Sai-Lai Lo =
S.Lo@uk.research.att.com
> > AT&T Laboratories Cambridge WWW:
> > http://www.uk.research.att.com
> > 24a Trumpington Street
> > Tel: +44 1223 343000
> > Cambridge CB2 1QA Fax: +44 1223 313542
> > ENGLAND
> >
> >
> >
>=20