[midPoint] Synchronizating roles between a database table and midPoint

MERCEDES ONCINA DELTELL moncina at um.es
Thu Feb 10 21:50:25 CET 2022


  In the schema handling I assign icfs:uid, which is associated with  
the primary key of the table (TREL_CODIGO) in the resource  
configuration, with the "name" attribute, so, both "uid" and "name"  
have the same value: TREL_CODIGO.

On the other hand, I have tried this:
/<correlation>
  <q:equal xmlns="">
    <q:path>name</q:path>
    <expression>
      <path>$projection/attributes/trel_codigo</path>
    </expression>
  </q:equal>
</correlation>/
  And I get the same error:
/Message: Could not import account  
shadow:b18c3e63-f2c5-461c-b6c0-27b91e0aa2bb(01)
Error: No object class found for the shadow/

I admit that I don't really understand the variables that can be used  
inside the expression, I have seen $user, $focus and $projection, but  
I am not very sure when each one should be used.

In the rest of the resources, I use $focus in the correlation  
expression, both for input and output resources and it runs fine.

Thanks in advance.
 

> please check you correlation. In the path-Tag you need to refer to an
> attribute of the projection/account, not to an attribute of the focus
> object.
>
> You could try this:
>
> <correlation> <q:equal xmlns=""> <q:path>name</q:path> <expression>  
> <path>$projection/attributes/ri:/TREL_CODIGO/</path> </expression>  
> </q:equal> </correlation>


midpoint-request at lists.evolveum.com escribió:

> ------------------------------
>
> Message: 2
> Date: Thu, 10 Feb 2022 14:14:51 +0100
> From: Mercedes Oncina Deltell <moncina at um.es>
> To: midpoint at lists.evolveum.com
> Subject: Re: [midPoint] Synchronizating roles between a database table
>         and midPoint
> Message-ID: <7b623c6f-989c-1cd2-74ad-08e159063317 at um.es>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> I have configured it as you wrote and I can see the entitlements from de
> resource in midPoint, but when I try to import them, I get the now
> familiar error:
>
> Message
>    Could not import account shadow:b18c3e63-f2c5-461c-b6c0-27b91e0aa2bb(01)
>
> Error
>    No object class found for the shadow
>
> My configuration is:
>
>    /*    <schemaHandling>*
>             <objectType id="16">
>    *            <kind>entitlement</kind>**
>    **            <intent>default</intent>**
>    **            <default>true</default>**
>    **<objectClass>ri:AccountObjectClass</objectClass>*
>                 <attribute id="17">
>                     <ref>icfs:uid</ref>
>                     <tolerant>true</tolerant>
>                     <inbound id="19">
>    <authoritative>true</authoritative>
>                         <exclusive>false</exclusive>
>                         <strength>normal</strength>
>                         <target>
>                             <path>name</path>
>                         </target>
>                     </inbound>
>                 </attribute>
>                 <attribute id="18">
>                     <ref>ri:TREL_DESCRIPCION</ref>
>                     <tolerant>true</tolerant>
>    <exclusiveStrong>false</exclusiveStrong>
>                     <inbound id="20">
>    <authoritative>true</authoritative>
>                         <exclusive>false</exclusive>
>                         <strength>normal</strength>
>                         <target>
>                             <path>displayName</path>
>                         </target>
>                     </inbound>
>                 </attribute>
>             </objectType>
>         </schemaHandling>
>    *  <synchronization>*
>             <objectSynchronization>
>                 <name>SynchroRoles</name>
>    *<objectClass>AccountObjectClass</objectClass>**
>    **            <kind>entitlement</kind>**
>    **            <intent>default</intent>**
>    **<focusType>c:RoleType</focusType>**
>    **            <enabled>true</enabled>*
>    *            <correlation>*
>                     <q:equal xmlns="">
>                         <q:path>name</q:path>
>                         <expression xmlns="">
>    <path>$focus/attributes/trel_codigo</path>
>                         </expression>
>                     </q:equal>
>    <q:description>CheckUIDwithCODIGO</q:description>
>                 </correlation>
>                 <reconcile>false</reconcile>
>                 <reaction>
>                     <situation>deleted</situation>
>                     <synchronize>true</synchronize>
>                     <action>
>    
>  <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#unlink</handlerUri>
>                     </action>
>                 </reaction>
>                 <reaction>
>                     <situation>linked</situation>
>                     <synchronize>true</synchronize>
>                     <reconcile>false</reconcile>
>                 </reaction>
>                 <reaction>
>                     <situation>unlinked</situation>
>                     <synchronize>true</synchronize>
>                     <action>
>    
>  <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#link</handlerUri>
>                     </action>
>                 </reaction>
>                 <reaction>
>                     <situation>unmatched</situation>
>                     <synchronize>true</synchronize>
>                     <reconcile>false</reconcile>
>                     <action>
>    
>  <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus</handlerUri>
>                     </action>
>                 </reaction>
>             </objectSynchronization>
>         </synchronization>/
>
> The Oracle table is:
>
>    /CREATE TABLE TIPO_RELACIONES
>    (
>       TREL_CODIGO         VARCHAR2(2 BYTE),
>       TREL_DESCRIPCION    VARCHAR2(60 BYTE),
>       TREL_UNIVERSITARIO  VARCHAR2(1 BYTE),
>       TREL_PRIORIDAD      NUMBER(2),
>       TREL_DURACION       DATE,
>       TREL_MESES          NUMBER(4),
>       TREL_TIPO_DURACION  VARCHAR2(1 BYTE),
>       TREL_VIGENTE        VARCHAR2(1 BYTE),
>       TREL_RESPONSABLE    VARCHAR2(8 BYTE),
>       TREL_TIPO_EMAIL     VARCHAR2(1 BYTE),
>       TREL_EXTERNO        VARCHAR2(1 BYTE)
>    )/
>
> I only want it for importing and synchronizing data into midPoint (inbound).
>
> El 10/02/2022 a las 12:00, midpoint-request at lists.evolveum.com escribió:
>
>> <schemaHandling> <objectType>  
>> <objectClass>ri:AccountObjectClass</objectClass>  
>> <default>true</default> <kind>*entitlement*</kind>  
>> <intent>default</intent> ...
>> <synchronization> <objectSynchronization>  
>> <objectClass>AccountObjectClass</objectClass>  
>> <kind>*entitlement*</kind> <intent>default</intent>  
>> <focusType>RoleType</focusType> <enabled>true</enabled>
>>
>> ...
>
> --
> Mercedes Oncina Deltell
> Servicio de Infraestructuras TICS
> ATICA - Universidad de Murcia
> Telf: +34 868881983
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:  
> <https://lists.evolveum.com/pipermail/midpoint/attachments/20220210/51943c85/attachment-0001.htm>
>
> ------------------------------
>
> Message: 3
> Date: Thu, 10 Feb 2022 16:46:51 +0100
> From: Marc Fueller <marc.fueller at daasi.de>
> To: Mercedes Oncina Deltell via midPoint <midpoint at lists.evolveum.com>
> Subject: Re: [midPoint] Synchronizating roles between a database table
>         and midPoint
> Message-ID: <831e49ab-7b01-c992-9916-ec01841df301 at daasi.de>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> Hi,
>
> please check you correlation. In the path-Tag you need to refer to an
> attribute of the projection/account, not to an attribute of the focus
> object.
>
> You could try this:
>
> <correlation> <q:equal xmlns=""> <q:path>name</q:path> <expression>  
> <path>$projection/attributes/ri:/TREL_CODIGO/</path> </expression>  
> </q:equal> </correlation>
>
> You also need to make sure that you are also mapping TREL_CODIGO to the
> midPoint "name" property in the schema handling.
>
> HTH
>
> Marc
>
> Am 10.02.22 um 14:14 schrieb Mercedes Oncina Deltell via midPoint:
>> I have configured it as you wrote and I can see the entitlements from
>> de resource in midPoint, but when I try to import them, I get the now
>> familiar error:
>>
>> Message
>>     Could not import account
>>     shadow:b18c3e63-f2c5-461c-b6c0-27b91e0aa2bb(01)
>>
>> Error
>>     No object class found for the shadow
>>
>> My configuration is:
>>
>>     /*    <schemaHandling>*
>>             <objectType id="16">
>>     *            <kind>entitlement</kind>**
>>     **            <intent>default</intent>**
>>     **            <default>true</default>**
>>     **<objectClass>ri:AccountObjectClass</objectClass>*
>>                 <attribute id="17">
>>                     <ref>icfs:uid</ref>
>>                     <tolerant>true</tolerant>
>>                     <inbound id="19">
>>     <authoritative>true</authoritative>
>>     <exclusive>false</exclusive>
>>     <strength>normal</strength>
>>                         <target>
>>                             <path>name</path>
>>                         </target>
>>                     </inbound>
>>                 </attribute>
>>                 <attribute id="18">
>>                     <ref>ri:TREL_DESCRIPCION</ref>
>>                     <tolerant>true</tolerant>
>>     <exclusiveStrong>false</exclusiveStrong>
>>                     <inbound id="20">
>>     <authoritative>true</authoritative>
>>     <exclusive>false</exclusive>
>>     <strength>normal</strength>
>>                         <target>
>>     <path>displayName</path>
>>                         </target>
>>                     </inbound>
>>                 </attribute>
>>             </objectType>
>>         </schemaHandling>
>>     *  <synchronization>*
>>             <objectSynchronization>
>>                 <name>SynchroRoles</name>
>>     *<objectClass>AccountObjectClass</objectClass>**
>>     **            <kind>entitlement</kind>**
>>     **            <intent>default</intent>**
>>     **<focusType>c:RoleType</focusType>**
>>     **            <enabled>true</enabled>*
>>     *            <correlation>*
>>                     <q:equal xmlns="">
>>                         <q:path>name</q:path>
>>                         <expression xmlns="">
>>     <path>$focus/attributes/trel_codigo</path>
>>                         </expression>
>>                     </q:equal>
>>     <q:description>CheckUIDwithCODIGO</q:description>
>>                 </correlation>
>>                 <reconcile>false</reconcile>
>>                 <reaction>
>>                     <situation>deleted</situation>
>>     <synchronize>true</synchronize>
>>                     <action>
>>      
>> <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#unlink</handlerUri>
>>                     </action>
>>                 </reaction>
>>                 <reaction>
>>                     <situation>linked</situation>
>>     <synchronize>true</synchronize>
>>                     <reconcile>false</reconcile>
>>                 </reaction>
>>                 <reaction>
>>     <situation>unlinked</situation>
>>     <synchronize>true</synchronize>
>>                     <action>
>>      
>> <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#link</handlerUri>
>>                     </action>
>>                 </reaction>
>>                 <reaction>
>>     <situation>unmatched</situation>
>>     <synchronize>true</synchronize>
>>                     <reconcile>false</reconcile>
>>                     <action>
>>      
>> <handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus</handlerUri>
>>                     </action>
>>                 </reaction>
>>             </objectSynchronization>
>>         </synchronization>/
>>
>> The Oracle table is:
>>
>>     /CREATE TABLE TIPO_RELACIONES
>>     (
>>       TREL_CODIGO         VARCHAR2(2 BYTE),
>>       TREL_DESCRIPCION    VARCHAR2(60 BYTE),
>>       TREL_UNIVERSITARIO  VARCHAR2(1 BYTE),
>>       TREL_PRIORIDAD      NUMBER(2),
>>       TREL_DURACION       DATE,
>>       TREL_MESES          NUMBER(4),
>>       TREL_TIPO_DURACION  VARCHAR2(1 BYTE),
>>       TREL_VIGENTE        VARCHAR2(1 BYTE),
>>       TREL_RESPONSABLE    VARCHAR2(8 BYTE),
>>       TREL_TIPO_EMAIL     VARCHAR2(1 BYTE),
>>       TREL_EXTERNO        VARCHAR2(1 BYTE)
>>     )/
>>
>> I only want it for importing and synchronizing data into midPoint
>> (inbound).
>>
>> El 10/02/2022 a las 12:00, midpoint-request at lists.evolveum.com escribió:
>>
>>> <schemaHandling> <objectType>  
>>> <objectClass>ri:AccountObjectClass</objectClass>  
>>> <default>true</default> <kind>*entitlement*</kind>  
>>> <intent>default</intent> ...
>>> <synchronization> <objectSynchronization>  
>>> <objectClass>AccountObjectClass</objectClass>  
>>> <kind>*entitlement*</kind> <intent>default</intent>  
>>> <focusType>RoleType</focusType> <enabled>true</enabled>
>>>
>>> ...
>>
>> --
>> Mercedes Oncina Deltell
>> Servicio de Infraestructuras TICS
>> ATICA - Universidad de Murcia
>> Telf: +34 868881983
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com
>> https://lists.evolveum.com/mailman/listinfo/midpoint
>
> --
> Marc Füller
> Consultant
>
> DAASI International GmbH
> Europaplatz 3
> D-72072 Tübingen
> Germany
>
> phone: +49 7071 407109-0
> fax:   +49 7071 407109-9
> email:marc.fueller at daasi.de
> web:www.daasi.de[1]
> Sitz der Gesellschaft: Tübingen
> Registergericht: Amtsgericht Stuttgart, HRB 382175
> Geschäftsleitung: Peter Gietz
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:  
> <https://lists.evolveum.com/pipermail/midpoint/attachments/20220210/6cf285e3/attachment.htm>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> https://lists.evolveum.com/mailman/listinfo/midpoint
>
> ------------------------------
>
> End of midPoint Digest, Vol 118, Issue  
> 19*****************************************


 


Vínculos:
---------
[1] http://www.daasi.de
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20220210/781ebc28/attachment-0001.htm>


More information about the midPoint mailing list