Validating scripted SQL connector configuration fails with SchemaScript Error in OpenIDM 3.1.0
The purpose of this article is to provide assistance if you receive a SchemaScript Error when validating the scripted SQL connector configuration via the Admin UI (/admin) in the OpenIDM 3.1.0.
Archived
This article has been archived and is no longer maintained by ForgeRock.
Symptoms
The following error is shown when you click the Validate Connector button in the Admin UI to validate the scripted SQL connector:
Warning! SchemaScript ErrorThe following error is shown in the OpenIDM log when this happens if you are using a MySQL™ database:
May 25, 2015 11:24:10 AM org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3 filterGenericError WARNING: Resource exception: 500 Internal Server Error: "SchemaScript error" org.forgerock.json.resource.InternalServerErrorException: SchemaScript error at org.forgerock.openidm.provisioner.impl.SystemObjectSetService.actionInstance(SystemObjectSetService.java:340) at org.forgerock.json.resource.Resources$SingletonHandler.handleAction(Resources.java:513) at org.forgerock.json.resource.Router.handleAction(Router.java:208) at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:57) at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:52) at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:55) at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:52) ... Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4208) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4140) ...Alternatively, you will see the following error in the OpenIDM log if you are using an Oracle® database instead:
May 25, 2015 11:24:10 AM org.forgerock.openidm.servlet.internal.ServletConnectionFactory$3 filterGenericError WARNING: Resource exception: 500 Internal Server Error: "SchemaScript error" org.forgerock.json.resource.InternalServerErrorException: SchemaScript error at org.forgerock.openidm.provisioner.impl.SystemObjectSetService.actionInstance(SystemObjectSetService.java:340) at org.forgerock.json.resource.Resources$SingletonHandler.handleAction(Resources.java:513) at org.forgerock.json.resource.Router.handleAction(Router.java:208) at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:57) at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:52) at org.forgerock.json.resource.FilterChain$Cursor.handleAction(FilterChain.java:55) at org.forgerock.json.resource.Filters$ConditionalFilter.filterAction(Filters.java:52) ... Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382) at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:675) at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:448) ...Recent Changes
Upgraded to OpenIDM 3.1.0.
Created a ScriptedSQL connector (based on sample3).
Causes
The Validate Connector button is not sending the password correctly, which means the connection fails. This is an issue with the Admin UI only; if the scripted SQL connector is configured correctly, it will validate when tested from the command line using a curl command as discussed in OpenIDM Integrator's Guide › Connecting to External Resources › Checking the Status of External Systems Over REST.
Solution
This issue can be resolved by upgrading to OpenIDM 4.0 or later; you can download this from BackStage.
See Also
Connector Developer's Guide › Writing Scripted Connectors With the Groovy Connector Toolkit
Related Training
N/A
Related Issue Tracker IDs
OPENIDM-2607 (Validating the connector configuration from the UI fails for Sample 3)
OPENIDM-2890 (Update an existing connector from sample 3 on UI would delete the connector )