I am tring to implement file upload using DFS AND UCF Transfer mode as like in DFS Development Guide.When i try to initiate UCF Connection using applet

i am getting folloing error.

com.documentum.ucf.client.install.launcher.InvocationException: An error has occurred when invoking the UCF runtime. Details:Exception in thread "Thread-1" com.documentum.ucf.common.transport.TransportError: com.documentum.ucf.common.transport.TransportStreamException: Unrecoverable stream error: HTTP session is not properly initialized at com.documentum.ucf.client.transport.impl.ClientSession.run(ClientSession.java:353)Caused by: com.documentum.ucf.common.transport.TransportStreamException: Unrecoverable stream error: HTTP session is not properly initialized at com.documentum.ucf.client.transport.impl.ClientReceiver.getRequests(ClientReceiver.java:53) at com.documentum.ucf.client.transport.impl.ClientSession.handshake(ClientSession.java:549) at com.documentum.ucf.client.transport.impl.ClientSession.handshake(ClientSession.java:528) at com.documentum.ucf.client.install.launcher.impl.RuntimeInvoker.isProcessRunning(RuntimeInvoker.java:613) at com.documentum.ucf.client.install.launcher.impl.RuntimeInvoker.initConnectionForNewProcess(RuntimeInvoker.java:194) at com.documentum.ucf.client.install.launcher.impl.RuntimeInvoker.initConnection(RuntimeInvoker.java:59) at com.emc.documentum.fs.rt.ucf.UcfConnection.<init>(UcfConnection.java:88) at com.mycompany.applet.Sample.init(Sample.java:14) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

I am using same development environment set up and code as like in DFS Dev. Guide.My DFS version 6.0 and JRE is 1.5.0_06.When the applet is launched ,the required UCF directories are getting created on the client m/c.But the Runtime invocation fails.I have checked the proxy server log files which return successful status code as like below.

14:28:03,812 WARN [[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] com.documentum.ucf.server.transport.impl.InitGAIRConnectorServlet - com.documentum.ucf.server.transport.impl.UnrecoverableTransportException: HTTP session is not properly initialized at com.documentum.ucf.server.transport.impl.InitGAIRConnectorServlet.doPost(InitGAIRConnectorServlet.java:42) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3214) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

UCF throws the error "HTTP session is not properly initialized" only when it fails to obtain the session from request. There is a plain 'HttpServletRequest.getsession()' in UCF to fetch the session. If this session is found to be null then the above mentioned exception is thrown with the error message. In your server log there is a call to 'getHttpSessionI()' but I did not find its result. Can you please check the value of JSESSIONID which you are sending to server along with the request? I have a strong doubt that this value is somehow getting set to null. Please let me know.

I am using the exactly same set up and code as like mentioned in DFS 6 sp1 Guide.ie.)DFS deployed on weblogic server in a separate m/c,web application to invoke UCF hosted on Tomcat at local m/c and Apache proxy server too in local m/c.JRE on both client and server is jre1.5.0_06.

When the applet is initiated, UCF directories are being installed on client m/c

Hi,
Two years later.....
I hit the same issue - webtop 6.8.2, cs 7.3
Happened only when i worked through the load balancer's url.
wasnt reproduced when working through the direct URL.
Issue resolved when we checked the box of "Do not save encrypted pages to disk" in IE 11's internet options - advanced - security node.
Next week an SR will be open so that open-text could investigate this issue.
Raviv

Dear Leo,
unfortunately I didn't find any clear solution.
I opened a case with OpenText but for unknown reason I could not reproduce the issue on WebEx.
whether I checked or unchecked the IE option I couldn't reproduce the issue.
the only thing I can think of is to
Modify the element in context.xml file located at \conf:

Hi Leo,
I certainly recommend that when you encounter issues first make sure to work on the supported versions - it happened to me in the past that I hit bugs because of wrong versions of tomcat or java.
you wrote webtop 6.8 and than you wrote webtop 6.8.1 (patch 3) so I guess the correct version is 6.8.1 patch 3.
for webtop 6.8.1 the documentation give you 2 supported options (if you work on windows server):
its either Tomcat 7.0.64 or 8.0.26 on JDK 7.0.X
Or
Tomcat 8.0.26 on JDK 8.0.111
Is it possible for you to install a secondary tomcat (for example version 7.0.64) and check the issue?

I don't think that the problem comes from versions of the applications because we have exactly the same versions in the test environment. The only difference i see now between the test environment and prod environment is that the prod architecture is using a load balancer.

We have a load balancer over 3 application nodes. On the three nodes are many different applications, but each application has his own url. I don't know how this could happend. There is another thing i suspect, between client and load balancer, there is https, whereas between load balancer and application servers, there is http. This is what i want to investigate now,

I assumed that each application has its own url, but when you load balance app across three nodes, each node runs on different server. If you don't have sticky sessions enable, your content request may initiate on app1, but then when it tries to continue with request, it may get routed to app2 or app3. App2 or app3 does not know anything about the initial content transfer request, so you will get errors. I'm not sure if your original problem is completely due to "sticky sessions not enabled", but I am just providing insight on why this would work in your test env, but not in prod, where you have load balancer enabled.