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)
>
>