Solved

Servlet Connection fails on  SSL enabled Domino Server

Posted on 2002-07-12
3
1,277 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

  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…
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
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.
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

856 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