EVALUATION
When we launch JNLP applet-desc using JNLPViewer, Applet2Environment.initialize() replace ServiceManager.service with an instanceof Applet2BrowserService which is based on essentially NoopAppletExecutionContext (DisconnectedExecutionContext is essentially the same with regards to platform authentication services). This execution context, basically return null CredentialManager, causing NPE and authentication failure, hence 401 return code on update check.
One possible fix is to preserve the initial ServiceManager.service and use it as fallback for platform services calls on DisconnectedExecutionContext.
The NPE in JNLPException also need to be fix, but is not essential to the failure.
|