Hi Radek, If you have your IIS webserver configured to be straight "NTLM" then this makes no sense to me. However, I bet you have it set for "SPNEGO", with an NTLM fallback. If so, maybe LAPI doesn't know how to connect?
This is fundamentally a LAPI issue with your Livelink IIS configuration -- if you are an OpenText customer I would think there would be some support somewhere for this. But thanks for confirming the patch -- I will make sure it ships in 1.7.1. Karl On Fri, Sep 19, 2014 at 2:24 AM, Radek Sklenicka <[email protected]> wrote: > Thanks Karl, that made the trick. > "NOT using SSL" is being displayed and most importantly “https” is turned > off explicitly. > Appreciate the prompt feedback. > > With this fix we now see the following status: > Connection failed: Livelink API error: The webserver requires an > unsupported authentication method. > We’re setup with NTLM and I believe we have the connection parameters > correctly. > Any hint? > > Thank you, > > Radek > > > On 18 September 2014 19:11, Karl Wright <[email protected]> wrote: > >> Hi Radek, >> >> For some reason, I believe that it's still trying to use SSL for the >> connection. See the class "SSLSocket" in this trace: >> >> Connection failed: Livelink API error: Class: com.a.d.e Could not create >> socket output stream. Unknown protocol Call Stack: com.a.d.e: Unknown >> protocol at com.a.d.b.h.a(ClientProtocol. >> java:326) at com.a.d.b.h.a(ClientProtocol.java:377) at >> com.a.d.f.getOutputStream(SSLSocket.java:283) at >> com.opentext.api.LLConnect.createSocketStreams(Unknown Source) at >> com.opentext.api.LLConnect.executeHTTP(Unknown Source) at >> com.opentext.api.LLConnect.execute(Unknown Source) at >> com.opentext.api.LAPI_USERS.GetUserInfo(Unknown Source) >> >> This code was tested originally using lapi 9.7.1, in fact, but SSL >> support was added after that, and most people use a version of LAPI that is >> much more modern, e.g. 10.2. But in any case, it should not be attempting >> to use SSL at all here, as far as I know. >> >> Could you try an experiment? In the class LLSERVER.java >> (connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LLSERVER.java), >> can you go to line 170, which should look like this: >> >> >>>>>> >> LLValue rootCACertList = new LLValue(); >> LLSession.GetCARootCerts(certFolder.toString(),rootCACertList); >> configuration.add("CARootCerts", rootCACertList); >> } >> } >> else >> configuration = null; >> <<<<<< >> >> Please change it to look like this: >> >> >> >>>>>> >> LLValue rootCACertList = new LLValue(); >> LLSession.GetCARootCerts(certFolder.toString(),rootCACertList); >> configuration.add("CARootCerts", rootCACertList); >> System.out.println("Using SSL because that is what is >> specified"); >> } >> else >> { >> configuration.add("HTTPS", LLValue.LL_FALSE); >> System.out.println("NOT using SSL"); >> } >> } >> else >> configuration = null; >> <<<<<< >> >> Then, compile, start MCF, and view your repository connection. You >> should see a message dumped to standard out. If the message says "NOT >> using SSL", then the additional line I added may help the code connect. >> Please let me know if this works for you. >> >> Thanks, >> Karl >> >> >> On Thu, Sep 18, 2014 at 12:56 PM, Radek Sklenicka < >> [email protected]> wrote: >> >>> Hello, >>> >>> We've been trying to setup a Livelink connection, but getting errors in >>> the Connection status - see below the error for authority and repository >>> connections. >>> >>> - we’re using "http" protocol connection >>> - we've built ManifoldCF 1.7 against lapi.jar and llssl.jar libraries >>> (version 9.7.1). >>> - OpenText version is 10 SP2 update 11 >>> >>> Could this be a compatibility issue? >>> >>> Any help would be really appreciated as we’re not able to get the >>> Livelink connection working. >>> Thank you, >>> Radek >>> >>> >>> >>> Repository connection status: >>> >>> Transient error: Livelink API error: Class: com.a.d.e Could not create >>> socket output stream. Unknown protocol Call Stack: com.a.d.e: Unknown >>> protocol at com.a.d.b.h.a(ClientProtocol.java:326) at >>> com.a.d.b.h.a(ClientProtocol.java:377) at >>> com.a.d.f.getOutputStream(SSLSocket.java:283) at >>> com.opentext.api.LLConnect.createSocketStreams(Unknown Source) at >>> com.opentext.api.LLConnect.executeHTTP(Unknown Source) at >>> com.opentext.api.LLConnect.execute(Unknown Source) at >>> com.opentext.api.LAPI_DOCUMENTS.AccessEnterpriseWS(Unknown Source) at >>> org.apache.manifoldcf.crawler.connectors.livelink.LivelinkConnector$GetSessionThread.run(LivelinkConnector.java:267) >>> >>> >>> Authority connection status: >>> >>> Connection failed: Livelink API error: Class: com.a.d.e Could not create >>> socket output stream. Unknown protocol Call Stack: com.a.d.e: Unknown >>> protocol at com.a.d.b.h.a(ClientProtocol.java:326) at >>> com.a.d.b.h.a(ClientProtocol.java:377) at >>> com.a.d.f.getOutputStream(SSLSocket.java:283) at >>> com.opentext.api.LLConnect.createSocketStreams(Unknown Source) at >>> com.opentext.api.LLConnect.executeHTTP(Unknown Source) at >>> com.opentext.api.LLConnect.execute(Unknown Source) at >>> com.opentext.api.LAPI_USERS.GetUserInfo(Unknown Source) at >>> org.apache.manifoldcf.crawler.connectors.livelink.LivelinkAuthority.check(LivelinkAuthority.java:269) >>> at org.apache.jsp.viewauthority_jsp._jspService(viewauthority_jsp.java:276) >>> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at >>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) >>> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) >>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at >>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547) at >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:480) >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) >>> at >>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941) >>> at >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875) >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) >>> at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:288) at >>> org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:115) at >>> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709) >>> at >>> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680) >>> at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:703) at >>> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at >>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) >>> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) >>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at >>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547) at >>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:480) >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) >>> at >>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:520) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941) >>> at >>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409) >>> at >>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186) >>> at >>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875) >>> at >>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) >>> at >>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250) >>> at >>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) >>> at org.eclipse.jetty.server.Server.handle(Server.java:349) at >>> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441) >>> at >>> org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:936) >>> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801) at >>> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) at >>> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51) >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586) >>> at >>> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44) >>> at >>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598) >>> at >>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533) >>> at java.lang.Thread.run(Unknown Source) >>> >>> >> >
