Task #2348
Updated by Alena Peterová over 4 years ago
Version 10.3.2
We exported and imported systems for organizations and contracts. All settings and attributes were created successfully, only the tree type was missing:
* System for organizations -> Mapping of attributes -> Detail -> Tree type
!sync_mapping_tree_type.png!
* System for contracts -> Synchronization -> Specific settings -> Default type of structure
!sync_contracts_specific_settings.png!
The tree type has the same (default) code "ORGANIZATIONS" in both environments, but their UUID is different, because it's created automatically.
The result of the import seemed OK. (Result: Executed).
-----------------------------------------------------------------------------------------------------------------------------
Second thing (this is more for future users, if anybody gets to the same situation):
When the synchronization or organizations is started without the tree type, results are "Unknown state":
!synchronization_logs.png!
<pre>
26.06.2020 14:06:29: Account was not found. We try to find account for UID [672] (generated from the mapped attribute marked as Identifier)
-------------------------
26.06.2020 14:06:29: SystemEntity for this uid doesn't exist. We will create it.
-------------------------
26.06.2020 14:06:29: Account doesn't exist in IdM
-------------------------
26.06.2020 14:06:29: Operation count for [UNKNOWN] is [19]
-------------------------
26.06.2020 14:06:29: Operation count for [UNKNOWN] is [19]
</pre>Only in the application log, you can see the real reason:<pre>
2020-06-26 14:06:29.246 ERROR 225387 --- [base-task-executor-4] e.b.i.a.s.i.AbstractSynchronizationExecutor.loggingException : Synchronization - exception during [UNKNOWN] for UID
[672]
java.lang.IllegalArgumentException: Tree type cannot be null!
at org.springframework.util.Assert.notNull(Assert.java:198)
at eu.bcvsolutions.idm.acc.service.impl.TreeSynchronizationExecutor.getEntityFilter(TreeSynchronizationExecutor.java:685)
</pre>
It would be useful, if this exception was visible in the synchronization log through GUI, or if the synchronization didn't start at all.