Hi,
I am using IIOP to connect to a domino server (call it server A) and then try to read a user's mailfile remotely from another server (server B). I am assuming that they use NRPC to talk to each other.
But server A that I am connecting to does not seem to be able to resolve server B's name always and sometimes it causes my application to throw an exception saying that such mail file HAS NOT BEEN OPENED yet.
This is the piece of code I use to open a user's mailbox:
try
{
int tries = 0;
db = session.getDatabase(mailHost, mailFile);
while (!db.isOpen() && tries < 3){
try {
logger.logit("number of tries:"+tries);
tries++;
Thread.sleep(1000);
db.open();
} catch (Exception e) {
logger.logit("Could not open: db:"+db);
logger.logit(e.getMessage());
// TODO: handle exception
}
}
view = db.getView("($Inbox)");
...
Right when I try to get the "inbox" view on the last line, it throws the following exception:
NotesException: Database cotgrow/cablesedge!!MAILKKAT.nsf has not been opened yet
at lotus.domino.NotesExceptionHelper.read(Unknown Source)
at lotus.domino.NotesExceptionHolder._read(Unknown Source)
at lotus.priv.CORBA.iiop.RepImpl.invoke(Unknown Source)
at lotus.priv.CORBA.portable.ObjectImpl._invoke(Unknown Source)
at lotus.domino.corba._IDatabaseStub.getView(Unknown Source)
at lotus.domino.cso.Database.getView(Unknown Source)
at com.cablesedge.enterprise.exchange.ejb.ExchangeSessionBean.getMail(ExchangeSessionBean.java:505)
at ExchangeSessionRemote_StatefulSessionBeanWrapper36.getMail(ExchangeSessionRemote_StatefulSessionBeanWrapper36.java:136)
at com.cablesedge.enterprise.task.mail.sync.exchange.ExchangeMailSyncHandler.getMail(ExchangeMailSyncHandler.java:160)
at com.cablesedge.enterprise.task.mail.sync.MailSyncHandlerManager.synchronize(MailSyncHandlerManager.java:95)
at com.cablesedge.enterprise.task.mail.sync.exchange.ExchangeMailSyncHandler.synchronize(ExchangeMailSyncHandler.java:112)
at com.cablesedge.enterprise.task.mail.sync.MailSyncHandler.synchronize(MailSyncHandler.java:28)
at com.cablesedge.enterprise.task.mail.sync.ejb.MailSyncHandlerBean.process(MailSyncHandlerBean.java:25)
at ProcessHandlerRemote_StatelessSessionBeanWrapper12.process(ProcessHandlerRemote_StatelessSessionBeanWrapper12.java:54)
at com.cablesedge.enterprise.task.ejb.ServiceTaskMdb.process(ServiceTaskMdb.java:139)
at com.cablesedge.enterprise.task.ejb.ServiceTaskMdb.onMessage(ServiceTaskMdb.java:97)
at com.evermind._hu.run(Unknown Source)
at com.evermind._bf.run(Unknown Source)
2
I tried adding the name of server B in a connection document on server A and also the "hosts" file of the windows on server A. Server A is also listed as trusted on server B.
Server A and B are in the same notes named domain and while server A is the main Domino server, server B was installed later as an additional server.
Any help is greatly appreciated.
Thanks
Software/Hardware used:
ASKED:
June 20, 2008 6:50 PM
UPDATED:
June 20, 2008 7:09 PM