How to get JavaFx WebEngine to report problems in detail?

In JavaFx, I can connect the listener to the bootloader for webEngine as follows:

webEngine.getLoadWorker().stateProperty().addListener( new ChangeListener<Worker.State>() { public void changed(ObservableValue ov, Worker.State oldState, Worker.State newState) { System.out.println("webEngine result "+ newState.toString()); } }); 

However, if I try to download a document with an https address, for example:

https://SomeLocalMachine.com:9443/jts/admin#action=com.ibm.team.repository.manageUsers

everything I print on the console:

 webEngine result READY webEngine result SCHEDULED webEngine result RUNNING webEngine result FAILED 

(The same https address in Firefox or Chrome gets me the login page)

Does anyone know how I can get more detailed reports from JavaFx WebEngine. I don’t just want to know that it failed - I need to know why . I can guess that my error is related to SSL / certificate / HTTPS, but at present I am completely in the dark regarding what part of SSL caused it to "FAIL"

+6
rtc javafx
source share
3 answers

The best we have ever received:

 if (webEngine.getLoadWorker().getException() != null && newState == State.FAILED) { exceptionMessage = ", " + webEngine.getLoadWorker().getException().toString(); } 

but it did not help.

(Our error was caused by a missing CookieStore, it seems that you will not get it for free - and should set the default value: http://docs.oracle.com/javase/7/docs/api/java/net/CookieHandler.html )

+4
source share

You can use com.sun.javafx.webkit.WebConsoleListener . The downside is that it is an internal JRE API.

 WebConsoleListener.setDefaultListener(new WebConsoleListener(){ @Override public void messageAdded(WebView webView, String message, int lineNumber, String sourceId) { System.out.println("Console: [" + sourceId + ":" + lineNumber + "] " + message); } }); 
+13
source share

Have you tried the following:

 engine.getLoadWorker().exceptionProperty().addListener(new ChangeListener<Throwable>() { @Override public void changed(ObservableValue<? extends Throwable> ov, Throwable t, Throwable t1) { System.out.println("Received exception: "+t1.getMessage()); } }); 
+4
source share

All Articles