Hi all, I'm using a third part library for NTLM authentication, one of their requeriments is to set: System.setProperty("java.protocol.handler.pkgs", "jespa");
But, it does not take any effect, I see Tomcat 7 source code here: https://github.com/apache/tomcat70/blob/051a1dfd4c2943a8e8001c6be88d208cac72faff/java/org/apache/catalina/loader/WebappLoader.java#L561 // Register a stream handler factory for the JNDI protocol URLStreamHandlerFactory streamHandlerFactory = DirContextURLStreamHandlerFactory.getInstance(); if (first) { first = false; try { * URL.setURLStreamHandlerFactory(streamHandlerFactory);* } catch (Exception e) { // Log and continue anyway, this is not critical log.error("Error registering jndi stream handler", e); } catch (Throwable t) { ExceptionUtils.handleThrowable(t); // This is likely a dual registration log.info("Dual registration of jndi stream handler: " + t.getMessage()); } } And I see *URL.setURLStreamHandlerFactory *documentation at: https://docs.oracle.com/javase/7/docs/api/java/net/URL.html#setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory) public static void setURLStreamHandlerFactory(URLStreamHandlerFactory <https://docs.oracle.com/javase/7/docs/api/java/net/URLStreamHandlerFactory.html> fac) Sets an application's URLStreamHandlerFactory. This method can be called at most once in a given Java Virtual Machine. The URLStreamHandlerFactory instance is used to construct a stream protocol handler from a protocol name. I tried set -Djava.protocol.handler.pkgs=jespa in catalina.sh and put my jars in jdk/lib, jdk/jre/lib, tomcat/lib, tomcat/webapps/ROOT/WEB-INF/lib, but nothing. I hope your comments. Regards. -- Ignacio Ocampo Millán