Servlet Connection fails on SSL enabled Domino Server

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?
pkesarwaniAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
HemanthaKumarConnect With a Mentor Commented:
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
 
ZvonkoSystems architectCommented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.