Solved

Servlet Connection fails on  SSL enabled Domino Server

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

This is an old article, please see an updated version of this article, located here: http://www.experts-exchange.com/articles/23619/Notes-8-5x-Windows-7-Notes-info-and-tips.html
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

863 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now