<h2>Runtime NULL exception thrown for testing external store credentials.</h2><br/><div style="overflow-x:auto"><article><div ><h3 >Issue </h3><section><ul style="list-style-position: inside;"><li>Runtime NULL exception thrown for testing external store credentials.<br /><br />Worker-Interactive:CommandPipeline-8332f795db2920d825cf1c4822961941 Worker starting: CommandPipeline source: 10.167.242.52<br />Worker-Interactive:CommandPipeline-8332f795db2920d825cf1c4822961941 <span style="color: #ff0000;">SEVERE *** ERROR *** Problem with client's CredentialResolver: unable to resolve the external credential API resolve() method, has the Jar file been added to the MID Server?</span><br />Worker-Interactive:CommandPipeline-8332f795db2920d825cf1c4822961941 <span style="color: #ff0000; background-color: #ffffff;">SEVERE *** ERROR *** com.snc.automation_common.integration.exceptions.UnknownException</span><br />at com.snc.core_automation_common.util.AKeyedConnectionFactory.getConnection(AKeyedConnectionFactory.java:181)<br />at com.snc.core_automation_common.util.AKeyedConnectionFactory.getConnection(AKeyedConnectionFactory.java:145)<br />at com.service_now.mid.pipeline.command.TestCredentialCommandImpl.executeRawCommand(TestCredentialCommandImpl.java:134)<br />at com.snc.core_automation_common.pipeline.ACommand.execute(ACommand.java:114)<br />at com.service_now.mid.probe.CommandPipeline.probe(CommandPipeline.java:63)<br />at com.service_now.mid.probe.AProbe.process(AProbe.java:104)<br />at com.service_now.mid.queue_worker.AWorker.runWorker(AWorker.java:122)<br />at com.service_now.mid.queue_worker.AWorkerThread.run(AWorkerThread.java:20)<br />at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)<br />at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)<br />at java.lang.Thread.run(Thread.java:748)<br />Caused by: java.lang.NullPointerException<br />at java.util.Hashtable.put(Hashtable.java:460)<br />at com.service_now.mid.toolkit.JDBCConnectionProvider.getConnection(JDBCConnectionProvider.java:138)<br />at com.service_now.mid.toolkit.JDBCConnectionProvider.getConnection(JDBCConnectionProvider.java:53)<br />at com.snc.core_automation_common.util.AKeyedConnectionFactory.getConnectionUseOneCred(AKeyedConnectionFactory.java:266)<br />at com.snc.core_automation_common.util.AKeyedConnectionFactory.getConnectionIterateOverCreds(AKeyedConnectionFactory.java:208)<br />at com.snc.core_automation_common.util.AKeyedConnectionFactory.getConnection(AKeyedConnectionFactory.java:158)<br /></li></ul></section></div><div ><h3 >Release</h3><section><ul style="list-style-position: inside;"><li>All</li></ul></section></div><div ><h3 >Cause</h3><section><ul style="list-style-position: inside;"><li>The possible issues could be<br /><br /> <ul style="list-style-position: inside;"><li>The environment variable, '<strong>CREDENTIAL_RESOLVER_FILE</strong>' isn't set to point to the properties file.<br /><br /></li><li>The properties file isn't present on the D:or the set drive.<br /><br /></li><li>The java file isn't correctly compiled to a JAR file and uploaded to the instance.<br /><br /></li><li>The properties file doesn't have the info for the user and password key that is to be set following the key on the <strong>CredentialResolver.java</strong> file.</li></ul> </li></ul></section></div><div ><h3 >Resolution</h3><section><ul style="list-style-position: inside;"><li>Depending on the issue and the causes, try one of the following<br /><br /> <ul style="list-style-position: inside;"><li>Set the path to the environment variable, 'CREDENTIAL_RESOLVER_FILE' to point to the properties file.<br /><br /></li><li>Move the properties file to the D: or the drive used in the CredentialsResolver.java file.<br /><br /></li><li>Compile the JAR file correctly and then upload it to the ServiceNow instance.<br /><br /></li><li>Update the properties file correctly with the following key for user and password<br /><br /> <ul style="list-style-position: inside;"><li>CredentialID.ssh.user=*user*<br /><br /></li><li>CredentialID.ssh.pswd=password<br /><br /></li><li>For example: If the credentialID is 123, then 123.ssh.user=user and 123.ssh.pswd=password<br /><br /></li></ul> </li><li>Once these changes have been incorporated, run the credential test again. This should resolve the credentials correctly.</li></ul> </li></ul></section></div><div ><h3 >Related Links</h3><section><ul style="list-style-position: inside;"><li>Kindly refer to the below documentation to set up External credential storage configuration:<br /><br /><a href="https://docs.servicenow.com/bundle/jakarta-servicenow-platform/page/product/discovery/concept/external_cred_storage_configuration.html" rel="nofollow">https://docs.servicenow.com/bundle/jakarta-servicenow-platform/page/product/discovery/concept/external_cred_storage_configuration.html</a></li></ul></section></div></article></div>