Solved

Servlet Connection fails on  SSL enabled Domino Server

Posted on 2002-07-12
3
1,275 Views
Last Modified: 2013-12-18
We  were able to connect to Domino Server ie "getting Domino session" using a serlvet successfully until we enabled SSL on the Domino Server.

So we followed some suggestions from Bob balaban's site  at losseleaf.net .

See link:-

http://www.looseleaf.net/Looseleaf/Forum.nsf/8178b1c14b1e9b6b8525624f0062fe9f/edd3c4f3449441808525676b0021f270?OpenDocument
After implimenting the changes like TrustedCert.class file on the client ie using it in the servlet and also removing Notes.jar that we had on the Domino server's Class path
class.
Instead of using NSCO.jar in out servlet we are using Lotus Domino Java library package already available in Visual age 5.0.5.

When we tested the code gain with the new changes we got the error exception :"Could not get IOR from HTTP Server"

The Code :-
 * Insert the method's description here.
 * Creation date: (5/22/02 9:33:12 AM)
 * @return lotus.domino.Session
 * @param host java.lang.String
 * @param user java.lang.String
 * @param password java.lang.String
 */
public Session getDominoSession(String host, String user, String password) {
      
      Session session = null;
      
      try {
            String[] iiop_args = new String[1];
            iiop_args[0] = "-ORBEnableSSLSecurity";
            session = NotesFactory.createSession(host, iiop_args, user, password);
            Debug.println("Successfully connected to Domino Server");
      }
      catch(NotesException e) {
            Debug.println("Could not get session to Domino " + e);
            
      }

      return session;
}



Console Error

[07/12/2002 14:17:41.260] NotesInterfaceServlet.doGet is called
java.net.MalformedURLException: unknown protocol: https
      java.lang.Throwable(java.lang.String)
      java.lang.Exception(java.lang.String)
      java.io.IOException(java.lang.String)
      java.net.MalformedURLException(java.lang.String)
      java.net.URL(java.net.URL, java.lang.String, java.net.URLStreamHandler)
      java.net.URL(java.net.URL, java.lang.String)
      boolean sun.net.www.protocol.http.HttpURLConnection.followRedirect()
      java.io.InputStream sun.net.www.protocol.http.HttpURLConnection.getInputStream()
      java.io.InputStream java.net.URL.openStream()
      java.lang.String lotus.domino.NotesFactory.getIOR(java.lang.String)
      lotus.domino.Session lotus.domino.NotesFactory.createSession(java.lang.String, java.lang.String [], java.lang.String, java.lang.String)
      lotus.domino.Session us.ne.state.notes.servlets.NotesBroker.getDominoSession(java.lang.String, java.lang.String, java.lang.String)
      void us.ne.state.notes.servlets.NotesInterfaceServlet.performTask(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
      void us.ne.state.notes.servlets.NotesInterfaceServlet.doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
      void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
      void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
      void com.ibm.servlet.engine.webapp.StrictServletInstance.doService(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
      void com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
      void com.ibm.servlet.engine.webapp.IdleServletState.service(com.ibm.servlet.engine.webapp.StrictLifecycleServlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse)
      void com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
      void com.ibm.servlet.engine.webapp.ServletInstance.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse, com.ibm.servlet.engine.webapp.WebAppServletInvocationEvent)
      void com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(com.ibm.servlet.engine.webapp.ServletInstanceReference, javax.servlet.ServletRequest, javax.servlet.ServletResponse, com.ibm.servlet.engine.webapp.WebAppServletInvocationEvent)
      void com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(javax.servlet.ServletRequest, javax.servlet.ServletResponse, com.ibm.servlet.engine.webapp.WebAppServletInvocationEvent)
      void com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(com.ibm.servlet.engine.webapp.WebAppRequest, javax.servlet.http.HttpServletResponse, boolean)
      void com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(javax.servlet.ServletRequest, javax.servlet.ServletResponse, boolean)
      void com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
      void com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(java.lang.Object)
      void com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(java.lang.Object)
      void com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(java.lang.String, com.ibm.servlet.engine.srp.ISRPConnection)
      void com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(com.ibm.servlet.engine.oselistener.api.IOSEConnection)
      void com.ibm.servlet.engine.http_transport.HttpTransportHandler.handleConnection(java.net.Socket)
      void com.ibm.servlet.engine.http_transport.HttpTransportHandler.run()
      void java.lang.Thread.run()

[07/12/2002 14:17:58.572] Could not get session to Domino lotus.domino.NotesException


Looking for an Answer now?
0
Comment
Question by:pkesarwani
3 Comments
 
LVL 24

Accepted Solution

by:
HemanthaKumar earned 200 total points
ID: 7150353
Here is the explanantion and solution from lotus tech support

http://www-1.ibm.com/support/manager.wss?rs=475&rt=0&org=sims&doc=BB25B01FEA7391E986256B0D00763E68

=========================================================

Number:  189758

Problem
When creating a session over IIOP using the syntax createSession() , you receive the following errors:

addin agent error: notes Exception lotus.domino.NotesFactory.getIOR (NotesFactory.java: 268)
Lotus.domino.NotesFactory.createsession(NotesFactory.java:66)

Solution
If these errors occur when creating a session over IIOP using the syntax createSession(), verify that the file diiop_ior.txt exists on the system. Make sure that you can hit this file over HTTP (HTTP should be running and accepting anonymous connections) as this file is always retrieved through the HTTP task. The diiop_ior.txt file should be located in the domino\html directory by default, so to hit it over HTTP, you would use the following address:

http://<servername>/diiop_ior.txt

If the file does exist, make sure its location matches the path listed in the Server document. You can find the path that is listed in the Server document by switching to the HTTP tab that is located on the Internet Protocols tab. In the right column called Mapping you will see the HTML directory. If it is mapped to a different directory, copy the diiop_ior.txt file into the directory that is listed.

Unless you can access that file, no sessions will be created using IIOP.

Supporting Information
The diiop_ior.txt file is created by Domino and should not be edited. As a workaround, you can use the following syntax to create a session and give the IOR value listed in diiop_ior.txt as a parameter:

String ior = "IOR:..."; // string contents were copied from the target server's diiop_ior.txt
NotesFactory.createSessionWithIOR(ior, ...);


~Hemanth
0
 
LVL 63

Expert Comment

by:Zvonko
ID: 11250932
pkesarwani,
No comment has been added to this question in more than 696 days, so it is now classified as abandoned..
I will leave the following recommendation for this question in the Cleanup topic area:

RECOMMENDATION: Award points to HemanthaKumar http:#7150353

Any objections should be posted here in the next  4  days. After that time, the question will be closed.

Thanks,
Zvonko
EE Cleanup Volunteer
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
To send auto email notification upon confirmation in MS Excel 2010 74 152
Lotus notes email code 6 115
Migrating from Lotus Notes to Office 365 2 138
ESXCLI upgrade command 1 99
  In today’s Arena we can’t imagine our lives without Internet as we are highly used to of it. If we consider our life style just for only 2 min we found that face to face communication is swapped by e-communication.  Every Where from Works place to…
IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question