When creating sessions to Notes/Domino (lotus.domino.Session) you have to distinguish between the two different types:
- Local sessions
- Remote sessions
Below I’ll describe both types and more importantly what you cannot do with the different types.
You create a local session using the methods of lotus.domino.NotesFactory class that doesn’t take a hostname argument. The session is actually just a thin wrapper around native calls to an underlying DLL/shared library hence you need to have the binary Notes and/or Domino code installed on the machine your code runs on.
Local sessions cannot be created using a LTPA (Lightweight Third Party Autentication) token or anonymously.
To use local sessions you need to include the notes.jar file on the classpath of the code.
Remote (or Corba) sessions are run over the IIOP wire protocol hence you need the DIIOP server task loaded on the Domino server. You do not need to have the HTTP server task loaded on the Domino server to use remote sessions. The reason you would normally load HTTP anyway is if you want the code to automatically discover the hostname and port to use for the Domino server. This is done via the IOR (Interoperable Object Reference) and the diiop_ior.txt on the Domino server (http://diiop.example.com/diiop_ior.txt). If you do not load the HTTP task you can provide the IOR to the NotesFactory method as a String.
You cannot create remote sessions against a Notes client installation.
Remote sessions are created using the methods of lotus.domino.NotesFactory that take a hostname as an argument. Remote sessions can be created anonymously, using cleartext username/password or using a previously established LTPA token.
To use remote sessions you need to include the ncso.jar file on the classpath of the code.