wso2 тождественный сервер 5.10.0 при настройке с JDB C userstore получает ошибку - PullRequest
1 голос
/ 04 апреля 2020

Я пытаюсь настроить wso2 идентификационный сервер 5.10.0, получая ошибку UM_USER_ID not able to insert admin user. Есть ли проблемы в dbscript

ID: [-1] [] [2020-04-02 23: 32: 40,143] [] INFO {org.wso2.carbon.mex2.internal.DynamicCRMCustomMexComponent} - DynamicCRMSupport MexServiceComponent bundle успешно активирован. TID: [-1234] [] [2020-04-02 23: 32: 44,277] [] ОШИБКА {org.wso2.carbon.user.core.common.DefaultRealm} - класс nullType java .lang.reflect.InvocationTargetException org.wso2.carbon.user.core.UserStoreException: nullType class java .lang.reflect.InvocationTargetException at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions (DefaultRealm. java: 397) .wso2.carbon.user.core.common.DefaultRealm.initializeObjects (DefaultRealm. java: 224) в org.wso2.carbon.user.core.common.DefaultRealm.init (DefaultRealm. java: 129) в организации .wso2.carbon.user.core.common.DefaultRealmService.initializeRealm (DefaultRealmService. java: 276) в org.wso2.carbon.user.core.common.DefaultRealmService. (DefaultRealmService. java: 102) в орг. wso2.carbon.user.core.common.DefaultRealmService. (DefaultRealmService. java: 115) в org.wso2.carbon.user.core.internal.Activator.startDeploy (Activator. java: 72) в org.wso2 .carbon.user.core.internal.BundleCheckActivator.start (BundleCheckActivator. java: 61) в org.eclipse.osgi.internal.framework.BundleContextImpl $ 3.run (BundleContextImpl. java: 842) в org.eclipse.osgi.internal.framework.BundleContextImpl $ 3.run (BundleContextImpl. java) 1: 1022 *: * .security.AccessController. . java: 791) в org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0 (EquinoxBundle. java: 1013) в org.eclipse.osgi.internal.framework.EquinoxBundle $ EquinoxModule. *artWorker 1026 *: 365) в org.eclipse.osgi.container.Module.doStart (Модуль. java: 598) в org.eclipse.osgi.container.Module.start (Модуль. java: 462) в org. eclipse.osgi.container.ModuleContainer $ ContainerStartLevel $ 1.run (ModuleContainer. java: 1820) в org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor $ 2 $ 1.execute (EquinoxContainerAdaptor. * 1030): 150 или больше: .osgi.con tainer.ModuleContainer $ ContainerStartLevel.incStartLevel (ModuleContainer. java: 1813) в org.eclipse.osgi.container.ModuleContainer $ ContainerStartLevel.incStartLevel (ModuleContainer. java: 1770) в org.ercon.con. ContainerStartLevel.doContainerStartLevel (ModuleContainer. java: 1735) по адресу org.eclipse.osgi.container.ModuleContainer $ ContainerStartLevel.dispatchEvent (ModuleContainer. java: 1661) по адресу org.eclipse.osgier. ModuleContainer. java: 1) в org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager. java: 234) в org.eclipse.osgi.framework.eventmgr.EventManager $ EventThread.run (EventMan. java: 345) Вызывается: java .lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConmpl. reflect.DelegatingConstructorAccessorImpl.newInstance ( DelegatingConstructorAccessorImpl. java: 45) в java .lang.reflect.Constructor.newInstance (Constructor. java: 423) в org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions (DefaultRealm. * 1043). *: 351) ... еще 25 причин: org.wso2.carbon.user.core.UserStoreException: Администратор не был создан. Произошла ошибка при создании пользователя Admin в основном хранилище пользователей. в org.wso2.carbon.user.core.common.AbstractUserStoreManager. addInitialAdminData (AbstractUserStoreManager. java: 8377) в org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager. (JDBCUserStoreManager. java: 319) в org.wso2.carbon.jd.core 1047 * .JDBCUserStoreManager. (JDBCUserStoreManager. java: 258) ... еще 30 причин: org.wso2.carbon.user.core.UserStoreException: ошибка при сохранении пользователя: admin на org.wso2.carbon.user.core .jdb *. .carbon.user.core.common.AbstractUserStoreManager.addInitialAdminData (AbstractUserStoreManager. java: 8366) ... еще 32 Причина: org.wso2.carbon.user.core.UserStoreException: Произошла ошибка при обновлении строковых значений в базе данных. в org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager.updateStringValuesToDatabase (JDBCUserStoreManager. java: 2558) в org.wso2.carbon.user.core.jdb c .JserserUser. java: 1436) ... еще 34 причины: com.microsoft.sqlserver.jdb c .SQLServerException: Невозможно вставить значение NULL в столбец «UM_USER_ID», таблица «LWSO2_USERSTORE_DB.dbo.UM_USER»; столбец не допускает пустых значений. Вставить не удается. по адресу com.microsoft.sqlserver.jdb c .SQLServerException.makeFromDatabaseError (SQLServerException. java: 217) по адресу com.microsoft.sqlserver.jdb c .SQLServerStatement.getNextResult (SQLServerStatement: 16: 1062) в * 1062. .microsoft.sqlserver.jdb c .SQLServerPreparedStatement. .microsoft.sqlserver.jdb c .TDSCommand.execute (IOBuffer. java: 6276) в com.microsoft.sqlserver.jdb c .SQLServerConnection.executeCommand (SQLServerConnection. java: 1794) в com.m .sqlserver.jdb c .SQLServerStatement.executeCommand (SQLServerStatement. java: 184) по адресу com.microsoft.sqlserver.jdb c .SQLServerStatement.executeStatement (SQLServerStatement. javaicro.s.serq. at 159) в 159) .jdb c .SQLServerPreparedStatement.executeUpdate (SQLServerPreparedStatement. java: 315) в sun.reflect.NativeMet hodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в sun.reflect.DelegatingMethodAccessorImpl.invoke * Method.invoke (Method. java: 498) в org. apache .tomcat.jdb c .pool.StatementFacade $ StatementProxy.invoke (StatementFacade. java: 114) на com.sun.proxy. $ Proxy53.executeUpdate (Неизвестный источник) в org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager.updateStringValuesToDatabase (JDBCUserStoreManager. java: 2535) ... еще 35

TID 1234] [] [2020-04-02 23: 32: 44,302] [] ОШИБКА {org.wso2.carbon.user.core.internal.Activator} - Невозможно запустить основной пакет диспетчера пользователей org.wso2.carbon.user.core .UserStoreException: невозможно инициализировать область. в org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm (DefaultRealmService. java: 286) в org.wso2.carbon.user.core.common.DefaultRealmService. (DefaultRealmService. java: 102) в org.wso2.carbon.user.core.common.DefaultRealmService. (DefaultRealmService. java: 115) в org.wso2.carbon.user.core.internal.Activator.startDeploy (Activator. java: 72) в организации .wso2.carbon.user.core.internal.BundleCheckActivator.start (BundleCheckActivator. java: 61) в org.eclipse.osgi.internal.framework.BundleContextImpl $ 3.run (BundleContextImpl. java 8): eclipse.osgi.internal.framework.BundleContextImpl $ 3.run (BundleContextImpl. java: 1) в java .security.AccessController.doPrivileged (собственный метод) в org.eclipse.osgi. internal.framework.BundleContextImpl.startActivator (BundleContextImpl. java: 834) в org.eclipse.osgi.internal.framework.BundleContextImpl.start (BundleContextImpl. java: 791) в org.gi.in.ip. EquinoxBundle.startWorker0 (EquinoxBundle. java: 1013) в org.eclipse.osgi.internal.framework.EquinoxBundle $ EquinoxModule.startWorker (EquinoxBundle. java: 365) в org.eclipse.art.o. Module. java: 598) в org.eclipse.osgi.container.Module.start (Module. java: 462) в org.eclipse.osgi.container.ModuleContainer $ ContainerStartLevel $ 1.run (ModuleContainer. java) 1820 ) в org.eclipse.osgi.container.ModuleContainer $ ContainerStartLevel.incStartLevel (ModuleContainer. java: 1770) в org.eclipse.osgi.container.ModuleContainer $ ContainerStartLevel.doCon tainerStartLevel (ModuleContainer. java: 1735) в org.eclipse.osgi.container.ModuleContainer $ ContainerStartLevel.dispatchEvent (ModuleContainer. java: 1661) в org.eclipse.osgi.container.ModuleStarterevent. java: 1) в org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent (EventManager. java: 234) в org.eclipse.osgi.framework.eventmgr.EventManager $ EventThread.run (EventManager. java: 345) Причина: org.wso2.carbon.user.core.UserStoreException: nullType class java .lang.reflect.InvocationTargetException в org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects (DefaultRealm *. 1110 *: 318) на org.wso2.carbon.user.core.common.DefaultRealm.init (DefaultRealm. java: 129) на org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm (DefaultRealmService. java: 276) ... еще 22. mon.DefaultRealm.createObjectWithOptions (DefaultRealm. java: 397) в org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects (DefaultRealm. java: 224) ... еще 24 причины: java .lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl. * 11 * * * 45) в java .lang.reflect.Constructor.newInstance (Конструктор. java: 423) в org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions (DefaultRealm. java: 351) .. Еще 25 причин: org.wso2.carbon.user.core.UserStoreException: пользователь Admin не был создан. Произошла ошибка при создании пользователя Admin в основном хранилище пользователей. в org.wso2.carbon.user.core.common.AbstractUserStoreManager.addInitialAdminData (AbstractUserStoreManager. java: 8377) в org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager. (11DBC: JDBC. 319) at org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager. (JDBCUserStoreManager. java: 258) ... еще 30 причин: org.wso2.carbon.user.core.UserStoreException: ошибка сохраняя пользователя: admin в org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager.persistUser (JDBCUserStoreManager. java: 1544) в org.wso2.carbon.user.core.jdb c .JDBCUserM .doAddUser (JDBCUserStoreManager. java: 1390) в org.wso2.carbon.user.core.common.AbstractUserStoreManager.addInitialAdminData (AbstractUserStoreManager. java: 8366) ... еще 32 причина: car.war. wso. user.core.UserStoreException: Произошла ошибка при обновлении строковых значений в базе данных. в org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager. updateStringValuesToDatabase (JDBCUserStoreManager. java: 2558) по адресу org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager.persistUser (JDBCUserStoreManager. java: 1436) ... еще 34 с. вызвано: sqlserver.jdb c .SQLServerException: невозможно вставить значение NULL в столбец «UM_USER_ID», таблица «LWSO2_USERSTORE_DB.dbo.UM_USER»; столбец не допускает пустых значений. Вставить не удается. по адресу com.microsoft.sqlserver.jdb c .SQLServerException.makeFromDatabaseError (SQLServerException. java: 217) по адресу com.microsoft.sqlserver.jdb c .SQLServerStatement.getNextResult (SQLServerStatement: 16: 11 com) .microsoft.sqlserver.jdb c .SQLServerPreparedStatement. .microsoft.sqlserver.jdb c .TDSCommand.execute (IOBuffer. java: 6276) в com.microsoft.sqlserver.jdb c .SQLServerConnection.executeCommand (SQLServerConnection. java: 1794) в com.m .sqlserver.jdb c .SQLServerStatement.executeCommand (SQLServerStatement. java: 184) по адресу com.microsoft.sqlserver.jdb c .SQLServerStatement.executeStatement (SQLServerStatement. javaver.s. .jdb c .SQLServerPreparedStatement.executeUpdate (SQLServerPreparedStatement. java: 315) в sun.reflect.NativeMet hodAccessorImpl.invoke0 (нативный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в sun.reflect.DelegatingMethodAccessorImpl.invoke * * DelegatingMethod:. Метод Proxy53.executeUpdate (Неизвестный источник) в org.wso2.carbon.user.core.jdb c .JDBCUserStoreManager.updateStringValuesToDatabase (JDBCUserStoreManager. java: 2535) ... еще 35

1 Ответ

2 голосов
/ 05 апреля 2020

Начиная с версии WSO2 IS 5.10.0, все менеджеры пользовательских хранилищ имеют уникальный идентификатор, включенный как часть имени менеджера хранилища пользователей (например, UniqueIDJDBCUserStoreManager). Менеджеры хранилищ пользователей, у которых нет уникального идентификатора как части имени менеджера хранилища пользователей, доступны только для целей обратной совместимости и могут использоваться только при переходе с предыдущей версии WSO2 Identity Server.

Проблема вы наблюдали, что происходит из-за использования новой схемы со старым JDBCUserStoremanager. Простое изменение класса менеджера хранилища пользователей на UniqueIDJDBCUserStoreManager решит проблему.

Если вы используете старый JDBCUserStoreManager, вам придется использовать старую схему для создания таблиц. Разница в том, что столбец UM_USER_ID присутствует в таблице UM_USER в новой SCHEMA.

[1] https://is.docs.wso2.com/en/5.10.0/setup/configuring-secondary-user-stores/

...