cancel
Showing results for 
Search instead for 
Did you mean: 

Nuxeo Live Edit throws a Java NPE

davenz_
Confirmed Champ
Confirmed Champ

Hi,

I'm using Nuxeo DM 5.5, LibreOffice 3.5.4.2 with the LibreOffice libreoffice-java-common packages installed, and Firefox 17.0 on Ubuntu 12.04 with OpenJDK 6 update 24.

I've configured an HTTPS reverse proxy in line with the official Nuxeo documentation. I'm using a self-signed certificate. The Nuxeo server is one of the pre-packaged VMs provided by Nuxeo which is running in VirtualBox.

Nuxeo LiveEdit Protocol Handler 0.5.2 is installed in Firefox, and LiveEdit for openoffice Version 2.4.0 has been installed in LibreOffice.

When Live Edit is launched in Nuxeo DM, I receive the following error:

An exception occurred
Type: com.sun.star.uno.RuntimeException
Message: [jni_uno bridge error] UNO calling Java method
execute: non-UNO exception occurred:
java.lang.NullPointerException
java stack trace:
java.lang.NullPointerException
at
org.nuxeo.liveedit.restclient.LiveEditClientRestletImpl.getParsedDocument(LiveEditClientRestletImpl.java:570)
at
org.nuxeo.liveedit.restclient.LiveEditClientRestletImpl.lockDocument(LiveEditClientRestletImpl.java:519)
at
org.nuxeo.liveedit.extension.ooo.LiveEditConnector.actionLoad(LiveEditConnector.java:294)
at
org.nuxeo.liveedit.extension.ooo.LiveEditConnector.execute(LiveEditConnector.java:191)
.(line81)

I've seen a few posts here and there referring to similar errors, possibly related to HTTPS being configured, but nothing in the way of resolutions.

Has anyone actually managed to configure HTTPS with Live Edit, and if so can they assist at all with what is going on here? Any leads most appreciated.

Cheers, Dave

1 ACCEPTED ANSWER

Bing_Ren
Confirmed Champ
Confirmed Champ

Hi,

I got the same problem and found this page. Now I solved the problem and below is how I solved it.

(1) find where is the working dir for your plugin.

Look at "tools -> Add-ons -> Nuxeo LiveEdit Protocol Handler -> Preferences

(2) Find the log

AFTER producing the error, you should be able to find a log file in the working dir named nuxeo-liveedit-openoffice-extension.log. Open that log and find the cause of the problem. To me, it was

2013-04-24 11:12:34,254 DEBUG (HttpMethodDirector.java:443) - handshake alert: unrecognized_name javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name at sun.security.ssl.ClientHandshaker.handshakeAlert(ClientHandshaker.java:1289) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1970) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1093) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.flushRequestOutputStream (MultiThreadedHttpConnectionManager.java:1565)

(3) Solution

Here "javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name" is the key. By googling it I was pointed to this post:

http://stackoverflow.com/questions/7615645/ssl-handshake-alert-unrecognized-name-error-since-upgrade...

Basically the solution is to set ServerName and ServerAlias on your Apache server.

(4) Add the CA certificate into client-side Java environment

I used a self-signed certificate. Before found the above solution, I also added the certificate for the CA (self-signed) to the keyring of the client-side Java environment in which the LiveEdit plug-in runs. To do this, use "keytool" and google to find how to add a trusted key into the cacerts.

Also note you might have more than one Java environment of different version and / or provider. Choose the right one or add the key to all.

If the issuer of the certificate is not trusted in client-side Java environment, this step is a must.

Hope this helps.

Bing

View answer in original post

5 REPLIES 5

Bing_Ren
Confirmed Champ
Confirmed Champ

Hi,

I got the same problem and found this page. Now I solved the problem and below is how I solved it.

(1) find where is the working dir for your plugin.

Look at "tools -> Add-ons -> Nuxeo LiveEdit Protocol Handler -> Preferences

(2) Find the log

AFTER producing the error, you should be able to find a log file in the working dir named nuxeo-liveedit-openoffice-extension.log. Open that log and find the cause of the problem. To me, it was

2013-04-24 11:12:34,254 DEBUG (HttpMethodDirector.java:443) - handshake alert: unrecognized_name javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name at sun.security.ssl.ClientHandshaker.handshakeAlert(ClientHandshaker.java:1289) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1970) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1093) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.flushRequestOutputStream (MultiThreadedHttpConnectionManager.java:1565)

(3) Solution

Here "javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name" is the key. By googling it I was pointed to this post:

http://stackoverflow.com/questions/7615645/ssl-handshake-alert-unrecognized-name-error-since-upgrade...

Basically the solution is to set ServerName and ServerAlias on your Apache server.

(4) Add the CA certificate into client-side Java environment

I used a self-signed certificate. Before found the above solution, I also added the certificate for the CA (self-signed) to the keyring of the client-side Java environment in which the LiveEdit plug-in runs. To do this, use "keytool" and google to find how to add a trusted key into the cacerts.

Also note you might have more than one Java environment of different version and / or provider. Choose the right one or add the key to all.

If the issuer of the certificate is not trusted in client-side Java environment, this step is a must.

Hope this helps.

Bing

To summarise

So - doesn't look like this is the problem in my case. Some changes to my initial post

Hi Dave,

Hi Bing,