Thursday, August 17, 2017

NPE in getUnmarshallerFactory() in OpenSAML 3

If you are getting NullPointerException when trying to get unmarshaller factory in OpenSAML 3, means most likely OpenSAML 3 has not been initialized. I was calling OpenSAML 3 methods in my unit test suite which gave me the below error. Call (InitializationService/initialize) to initialize the library. My main program does the initialization, so I do not get error when running, but unit test does not invoke that code path.
lein test :only com.concur.saml.saml-test/saml-response

ERROR in (saml-response) (
Uncaught exception, not in assertion.
expected: nil
actual: java.lang.NullPointerException: null
at org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport.getUnmarshallerFactory (
com.concur.saml.core$get_response.invokeStatic (core.clj:253)
com.concur.saml.core$get_response.invoke (core.clj:249)
com.concur.saml.saml_test$fn__7679.invokeStatic (saml_test.clj:22)
com.concur.saml.saml_test/fn (saml_test.clj:19)
user$eval85$fn__136.invoke (form-init5596096413821124374.clj:1)
clojure.lang.AFn.applyToHelper (
clojure.lang.AFn.applyTo (
clojure.core$apply.invokeStatic (core.clj:648)
clojure.lang.AFn.applyToHelper (
clojure.lang.Var.applyTo (
clojure.main.main (

Ran 1 tests containing 1 assertions.
0 failures, 1 errors.
Tests failed.