[midPoint] No definition for item in a Manual Resource

Nicolas Rossi nrossi at identicum.com
Thu May 30 22:06:11 CEST 2019


Hi guys, we made some more test and we found that it is an issue of older
versions of MP. It is failing on MP 3.7.1 but it works on MP 3.9.

Is there any documented issue related to this behavior ?



Ing Nicolás Rossi
Identicum S.A.
Jorge Newbery 3226
Oficina: +54 (11) 4552-3050
Móvil: +54 (911) 6041-3920
www.identicum.com


On Wed, May 29, 2019 at 12:59 PM Nicolas Rossi <nrossi at identicum.com> wrote:

> Hi guys, we are facing an issue with a Manual Resource when updating a
> resource attribute if it wasn't present when the shadow was created. Let me
> share some context:
>
>    - The manual resource defines an attribute on the schema:
>
> *<xsd:element minOccurs="0" name="organizationalUnit" type="xsd:string"/>*
>
>
>    - There is a mapping on the resource for this attribute:
>
> *<attribute id="9">*
> *  <c:ref>ri:organizationalUnit</c:ref>*
> *  <outbound>*
> *     <source>*
> *        <c:path>$user/organizationalUnit</c:path>*
> *     </source>*
> *  </outbound>*
> *</attribute>*
>
>
>    - If the user receiving the resource has no value on the attribute
>    then the shadow is created without this attribute (element
>    <ri:organizationalUnit> is missing):
>
> *<attributes>*
> *   <ri:username>a.santos</ri:username>*
> *   <ri:emailAddress>a.santos at xxxx.com</ri:emailAddress>*
> * .....*
> *</attributes>*
>
>
>    - Then the user set a new value for the organizationalUnit attribute,
>    it enters as a Delta:
>
> *   <pendingOperation id="33">*
> *      <delta>*
> *         <t:changeType>modify</t:changeType>*
> *         <t:objectType>c:ShadowType</t:objectType>*
> *         <t:oid>8ff9d322-658b-40ce-9ad5-533eeca0d96a</t:oid>*
> *         <t:itemDelta>*
> *            <t:modificationType>replace</t:modificationType>*
> *            <t:path>c:attributes/ri:organizationalUnit</t:path>*
> *            <t:value xmlns:xsd="http://www.w3.org/2001/XMLSchema
> <http://www.w3.org/2001/XMLSchema>"*
> *                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> <http://www.w3.org/2001/XMLSchema-instance>"*
> *                     xsi:type="xsd:string">Development</t:value>*
> *         </t:itemDelta>*
>
>
>    - And the operation fails with the error "ShadowRefresh of object
>    shadow:8ff9d322-658b-40ce-9ad5-533eeca0d96a(felipe.xxxx) shadow
>    refresh task failed: No definition for item {
>    http://midpoint.evolveum.com/xml/ns/public/resource/instance-3}organizationalUnit
>    in PC({
>    http://midpoint.evolveum.com/xml/ns/public/common/common-3}attributes)
>    ".
>
> at
> com.evolveum.midpoint.prism.PrismContainerValue.createDetachedNewItemInternal(PrismContainerValue.java:779)
> at
> com.evolveum.midpoint.prism.PrismContainerValue.createSubItem(PrismContainerValue.java:767)
> at
> com.evolveum.midpoint.prism.PrismContainerValue.findCreateItem(PrismContainerValue.java:727)
> at
> com.evolveum.midpoint.prism.PrismContainer.findCreateItem(PrismContainer.java:495)
> at
> com.evolveum.midpoint.prism.PrismContainerValue.findCreateItem(PrismContainerValue.java:706)
> at
> com.evolveum.midpoint.prism.PrismContainer.findCreateItem(PrismContainer.java:495)
> at
> com.evolveum.midpoint.prism.PrismContainer.findOrCreateItem(PrismContainer.java:579)
> at com.evolveum.midpoint.prism.delta.ItemDelta.applyTo(ItemDelta.java:1327)
> at com.evolveum.midpoint.prism.delta.ItemDelta.applyTo(ItemDelta.java:1289)
> at
> com.evolveum.midpoint.repo.sql.helpers.ObjectUpdater.modifyObjectAttempt(ObjectUpdater.java:405)
> at
> com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.modifyObject(SqlRepositoryServiceImpl.java:571)
> at
> com.evolveum.midpoint.repo.cache.RepositoryCache.modifyObject(RepositoryCache.java:291)
> at
> com.evolveum.midpoint.repo.cache.RepositoryCache.modifyObject(RepositoryCache.java:267)
> at
> com.evolveum.midpoint.repo.cache.RepositoryCache.modifyObject(RepositoryCache.java:260)
> at
> com.evolveum.midpoint.provisioning.impl.ShadowManager.modifyShadowAttributes(ShadowManager.java:1438)
> at
> com.evolveum.midpoint.provisioning.impl.ShadowCache.refreshShadow(ShadowCache.java:1229)
> at
> com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.refreshShadow(ProvisioningServiceImpl.java:872)
> at
> com.evolveum.midpoint.model.impl.cleanup.ShadowRefreshTaskHandler$1.handleObject(ShadowRefreshTaskHandler.java:108)
> at
> com.evolveum.midpoint.repo.common.task.AbstractSearchIterativeResultHandler.processRequest(AbstractSearchIterativeResultHandler.java:325)
> at
> com.evolveum.midpoint.repo.common.task.AbstractSearchIterativeResultHandler.handle(AbstractSearchIterativeResultHandler.java:183)
> at
> com.evolveum.midpoint.repo.cache.RepositoryCache$1.handle(RepositoryCache.java:227)
> at
> com.evolveum.midpoint.repo.sql.helpers.ObjectRetriever.searchObjectsIterativeByPaging(ObjectRetriever.java:755)
> at
> com.evolveum.midpoint.repo.sql.SqlRepositoryServiceImpl.searchObjectsIterative(SqlRepositoryServiceImpl.java:838)
> at
> com.evolveum.midpoint.repo.cache.RepositoryCache.searchObjectsIterative(RepositoryCache.java:230)
> at
> com.evolveum.midpoint.repo.common.task.AbstractSearchIterativeTaskHandler.run(AbstractSearchIterativeTaskHandler.java:292)
> at
> com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeHandler(JobExecutor.java:639)
> at
> com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.executeRecurrentTask(JobExecutor.java:522)
> at
> com.evolveum.midpoint.task.quartzimpl.execution.JobExecutor.execute(JobExecutor.java:180)
> at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
> at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:588)
>
>
> Looking here
> <https://github.com/Evolveum/midpoint/blob/90e4b7adc44f6d97629b8e71d1af2c714ac7e593/infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerValueImpl.java#L792>
> it seems that it cannot find the attribute definition on the resource.
>
> Any thoughts ?
>
>
> Ing Nicolás Rossi
> Identicum S.A.
> Jorge Newbery 3226
> Oficina: +54 (11) 4552-3050
> Móvil: +54 (911) 6041-3920
> www.identicum.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20190530/d73e5a9e/attachment.htm>


More information about the midPoint mailing list