Solved

Servlet Connection fails on  SSL enabled Domino Server

Posted on 2002-07-12
3
1,292 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

I thought it will be a good idea to make a post as it will help in case someone else faces these issues. I trust this gives an idea how each entry in Notes.ini can mean a lot for the Domino Server to be functioning properly. This article discusses t…
Lack of Storage capacity is a common problem that exists in every field of life. Here we are taking the case of Lotus Notes Emails, as we all know that we are totally depend on e-communication i.e. Emails. This article is fully dedicated to resolvin…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…

626 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