none
Wrong casing in lookup RRS feed

  • Question

  • Hi.

    I have this strange problem. First I made a typo and write [//Target/EMail] instead of [//Target/Email] in a lookup. Didn't even know it was case sensitive, but this doesn't seem to work, I get "The given key was not present in the dictionary" in my event log.

    Anyway, after finding the typo I of course tried changing it to the correct casing. But after this I still get "Added the resource 'Target' and its attribute 'EMail' to the read dictionary." in the event log, so obviously it doesn't notice my change. When I look in the workflow action it says [//Target/Email] though, just like it should.

    I tried changing the lookup to [//Target/Emails] instead (a key that doesn't exist at all) and then it reacts to the change and I get "Added the resource 'Target' and its attribute 'Emails' to the read dictionary." (which obviously fails completely)

    This is when it begins to get really weird. I change back to [//Target/Email] like it's supposed to be and run the workflow again, but now it says "Added the resource 'Target' and its attribute 'EMail' to the read dictionary." again. Wtf? Where did it get the big M from now? It's nowhere in my workflow. Does WAL save this in some cache somewhere? And if so, is there any way of purging it?

    Thursday, May 4, 2017 12:47 PM

Answers

  • Yes, attribute names are case sensitive and FIM gives that cryptic error message "The given key was not present in the dictionary". There was a known bug about case-sensitivity getting ignored when sync engine was making updates that has since been fixed, but looks like this is a related one. Your quickest fix will be to delete the workflow and recreate it from scratch. And a longer term fix will be is to raise a support incident for FIM/MIM to get this product bug fixed.
    Friday, May 5, 2017 8:14 AM
    Owner

All replies

  • If there is any cached WF definition, it will be the FIMService holding it. Try restarting it.
    Thursday, May 4, 2017 1:38 PM
    Owner
  • If there is any cached WF definition, it will be the FIMService holding it. Try restarting it.

    Sorry, forgot to mention. I did restart the service. It still refuses to understand that I'm writing a lowercase m.

    Just to be sure though: Is the lookup case sensitive? Just so that I am not chasing a red herring when the real fault is something totally different...

    Friday, May 5, 2017 5:55 AM
  • Yes, attribute names are case sensitive and FIM gives that cryptic error message "The given key was not present in the dictionary". There was a known bug about case-sensitivity getting ignored when sync engine was making updates that has since been fixed, but looks like this is a related one. Your quickest fix will be to delete the workflow and recreate it from scratch. And a longer term fix will be is to raise a support incident for FIM/MIM to get this product bug fixed.
    Friday, May 5, 2017 8:14 AM
    Owner
  • Yes, attribute names are case sensitive and FIM gives that cryptic error message "The given key was not present in the dictionary". There was a known bug about case-sensitivity getting ignored when sync engine was making updates that has since been fixed, but looks like this is a related one. Your quickest fix will be to delete the workflow and recreate it from scratch. And a longer term fix will be is to raise a support incident for FIM/MIM to get this product bug fixed.

    Yep. I tried (manually) deleting the entire workflow and recreating it from scratch and now it works. Obviously there's a bug involved here, making things not being saved correctly when only case is changed. I'm happy now though so I won't bother filing any incident :-)
    Friday, May 5, 2017 12:56 PM
  • We've run into this aswell, and also classified it as a bug. Never reported it though...

    It's really strange that changing the Attribute name to something else, and then back, still caused FIM/MIM to use the old attribute name with incorrect casing..


    Did my post help? Please use "Vote As Helpful", "Mark as answer" or "Propose as answer". Thank you!

    Tuesday, May 9, 2017 7:48 AM