[midPoint] Case sensitivity on correlation attribute

Ivan Noris ivan.noris at evolveum.com
Mon Jul 25 08:45:12 CEST 2016


Hi Florin,

midPoint uses case sensitive matching by default.

Try to use e.g. this:

...

                    <correlation>
                        <q:equal>
*                          <q:matching>polyStringNorm</q:matching>**
*                                <q:path>c:name</q:path>
                                <expression>
                                        <description>Matches using
sAMAccountName.</description>
                                        <path>
                                                declare namespace
ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3";
                                               
$account/attributes/ri:sAMAccountName
                                        </path>
                                </expression>
                        </q:equal>
                    </correlation>
...

For polyString attributes (such as user/name) use that; for string
attributes use
<q:matching>stringIgnoreCase</q:matching>

Hope this helps.
Regards,
Ivan

On 07/22/2016 10:10 PM, Florin. Stingaciu wrote:
> Hello, 
>
> I'm running into this issue when importing accounts. I have a user
> that already has an account and the import task should find user and
> link it to the account. Instead an unmatched situation is found and
> the object fails to be processed with the following error:
>
> 2016-07-22 19:47:44,429 [] [midPointScheduler_Worker-2] ERROR
> (com.evolveum.midpoint.model.impl.sync.SynchronizationServiceImpl):
> SYNCHRONIZATION: Error in synchronization on
> resource:7ac978b7-3eed-4fa8-8f24-2cf8e10f79ee(Corporate Active
> Directory) for situation UNMATCHED: ObjectAlreadyExistsException:
> Error processing focus(user:null(aditya_kuppa)): constraint violation:
> Found conflicting existing object with property name =
> PP({.../common/common-3}name):[PPV(PolyString:user_name)]:
> user:83e5be67-9e12-4bdf-a001-be88251a14c3(user_name). Change was
> ResourceObjectShadowChangeDescription(objectDelta=ObjectDelta(ShadowType:2975901f-e9de-4079-b2e2-f7a615684a12,ADD:
> shadow:2975901f-e9de-4079-b2e2-f7a615684a12(CN=User
> Name,OU=People,DC=SYMC,DC=EXAMPLE,DC=COM)),
> currentShadow=shadow:2975901f-e9de-4079-b2e2-f7a615684a12(CN=User
> Name,OU=People,DC=SYMC,DC=EXAMPLE,DC=COM), oldShadow=null,
> sourceChannel=http://midpoint.evolveum.com/xml/ns/public/provisioning/channels-3#import,
> resource=resource:7ac978b7-3eed-4fa8-8f24-2cf8e10f79ee(Corporate
> Active Directory))
>
> com.evolveum.midpoint.util.exception.ObjectAlreadyExistsException:
> Error processing focus(user:null(user_name)): constraint violation:
> Found conflicting existing object with property name =
> PP({.../common/common-3}name):[PPV(PolyString:user_name)]:
> user:83e5be67-9e12-4bdf-a001-be88251a14c3(user_name)
>
> I believe this is due to a case sensitivity issue. Here's my entry for
> my ri:user attribute: http://pastebin.com/sBkddsZn
>
> As you can tell, I convert everything to lower case on the inbound
> rule and I believe the correlation attribute is case sensitive. Is
> there any way to specify that the correlation attribute should be case
> insensitive? 
>
> Here's my correlation entry: http://pastebin.com/NW0dgsiv 
>
> Thanks, 
> -F 
>
>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint

-- 
  Ing. Ivan Noris
  Senior Identity Management Engineer & IDM Architect
  evolveum.com                     evolveum.com/blog/
  ___________________________________________________
  "Semper ID(e)M Vix."

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20160725/038ae0e6/attachment.htm>


More information about the midPoint mailing list