Pergunta ECMA 2.0 Error on FIM 2010 R2 SP1

  • sábado, 16 de março de 2013 15:44
     
     

    In the Sync Service EventLog:

    HRESULT: '0x80230507' Source: 'd:\bt\2172\private\source\miis\server\rules\project.cpp(1635)'  Thread ID: '0x41a8' Additional Info: ''

    Anybody see this before? Any idea what's going wrong?

Todas as Respostas

  • segunda-feira, 18 de março de 2013 05:51
     
     

    Hi B3NT,

    This a little vague, can you possibly provide more information on the following questions:

    • Is this during an import or export
    • Is this an MA developed by yourself or a 3rd party
    • What path level is your FIM server.
    • Do you have any additional eventlogs being generated.
    • Do you any additional tracing capability on the MA

    Regards

    Jacques


    Visit My Blog: http://theidentityguy.blogspot.com/


    • Editado Jssting segunda-feira, 18 de março de 2013 05:51
    •  
  • segunda-feira, 18 de março de 2013 11:46
     
     

    Let's see...Its a management agent that I'm developing for SalesForce.com's REST api.

    I got this error during delta sync. It happens on Full Sync as well. Oddly, there were 20,815 disconnectors counted...there were 20,819 exceptions thrown.  Exports are throwing exceptions with the following data:

    HRESULT: '0x8023063b' Source: 'd:\bt\2172\private\source\miis\server\server\ma.cpp(2708)'  Thread ID: '0x2bb0' Additional Info: '' and

    HRESULT: '0x80230709' Source: 'd:\bt\2172\private\source\miis\cntrler\cntrler.cpp(8448)'  Thread ID: '0x4b28' Additional Info: ''

    The sync service is installed in a folder on the root of a data disk (non-os). So, it's installed in D:\FIM2010...I have extra logging for the values that are being written out to Salesforce, but this exception doesn't seem to be in any code that I can catch. Does the install location actually affect the application? I've seen posts that allude to this but I have been hoping that it wasn't true.

    The weird thing here is that, for the most part, it's functional.

    Obviously, something weird is going on...and the constant errors keep me from being able to perform delta imports because the watermark is constantly being invalidated.

    Any help would be greatly appreciated.

  • segunda-feira, 18 de março de 2013 13:09
     
     

    A bit more info needed:

    • What Version of FIM 2010 i.e. RTM/R2/R2 SP1?
    • What is the full version number. if you are on 4.0.3606.2 or 4.0.3617.2 I suggest updating to 4.0.3644.2 as this is a known issue with rollup 2 and the 3617 hotfix.
    • You mention this is happening under a sync profile not an export or import. Am I correct in this?
    • Are you using Sync Rules or Rules extensions for flow rules?


    Visit My Blog: http://theidentityguy.blogspot.com/

  • segunda-feira, 18 de março de 2013 14:02
     
     

    It's SP1. Yeah, the first exception in the top post was from a sync profile. I'm using sync rules.

    The full version string is 4.1.3114.0

    I have had the debugger attached during a sync and the exception isn't caught...so it's something that's happening internally.

  • segunda-feira, 18 de março de 2013 15:23
     
     

    If this is happening on a sync rule, I suggest trying to eliminate the offending flow rule in the sync rule and working back from there. How are you assigning an anchor value to the objects in the ecma 2.0? Could be related to how you are setting your initial anchor value. If you cannot find the offending flow rule I suggest giving Microsoft support a call to if they are able to find the offending issue as the ecma 2.0 issues typically creep only up during import and export processes.

    Below is the breakdown of the error on the second line of your log:

    Error Code: 0x80230709
    Error Message: (The extension operation aborted due to an internal error in FIM Synchronization Service.)


    Visit My Blog: http://theidentityguy.blogspot.com/

  • segunda-feira, 18 de março de 2013 15:26
     
     
    Unfortunately you cannot attach the debugger to a declarative flow rule. If you like to debug the rule, you will need to move it to the sync engine as an advanced flow rule, or as a custom workflow activity in the portal.

    Visit My Blog: http://theidentityguy.blogspot.com/

  • segunda-feira, 18 de março de 2013 18:56
     
     

    I'm getting errors for the "out of box" Management Agents with "inbound only" sync rules. I'm going to try re-installing the software with default paths. How did you get that error text?

  • terça-feira, 19 de março de 2013 06:42
     
     

    Try checking the checkbox

    'Run this management agent in a separate process'

    and then run.


    Regards Furqan Asghar

  • terça-feira, 19 de março de 2013 11:27
     
     

    Also have a look at the 'Known Issues' section of the following KB Atricle

    http://support.microsoft.com/kb/2772429


    Regards Furqan Asghar

  • terça-feira, 19 de março de 2013 13:06
     
     
    I have tried running it out of proc. The "known issues" don't seem to apply here, I haven't customized the sync service config file...or maybe I missed something?
  • quinta-feira, 21 de março de 2013 20:40
     
     

    FWIW, I've found that one must be very careful with ECMA2 and:

    * the Distinguished Name type expressed in the GetCapabilities object

    * Populating anchor values vs. DN on import

    * The order in which ChangeType, DN, ObjectModificationType, anchor values, etc., are applied to the CSEntryChange object during import

    Any mismatch in these bits may result in lots of unhelpful errors in the event log and the Sync Service console.


    Steve Kradel, Zetetic LLC SMS OTP for FIM | Salesforce MA for FIM

  • quinta-feira, 21 de março de 2013 21:31
     
     

    Thanks for that. Could you elaborate? For instance, I'm using the "primary key" as the id and the DN. It's not ldap style, but I set that in the Capabilities. 

    The order that "ChangeType, DN, ObjectModificationType, anchor values, etc." are applied during import...do what now? I haven't found any guidance for how that should be performed. Honestly, I've felt like I have been forced to reverse engineer parts of how this works through trial and error. The examples in the MSDN docs are fsck'ing terrible.

    In my code I'm setting the ObjectModificationType first (Add), then the ObjectType. After that I loop over all of the properties on the record and add them to the CSEntryChange's AttributeChanges collection as "AttributeChange.CreateAttributeAdd". If the name of the attribute is the id then I add it as the DN instead. Do you need to specify the anchor on each object as well? How on Earth would you figure that out?

    I did this because it isn't clear to me how you would go about figuring our whether the object that's being imported is changed and which attributes where involved...I mean, isn't that why I'm importing the thing in the first place? So that the sync engine can figure that out? In an Ldap directory you would have a changelog to operate from that would have operation types and the values involved in a serialized format, but the datasource I'm using doesn't have anything like that. Also, the example MA's that I've seen (The Google Apps MA and the SQL MA in the MSDN documentation) hard code the attribute names and only use one changetype. I've worked out how to do delta imports but there are so many exceptions that it never successfully saves the watermark. 

    Any guidance would be greatly appreciated. I get a twitch when I can't figure something out and I've just run into a wall on this...it's really bugging me. I will say this though, I have a much greater appreciation of you guys selling MA's as commercial software. I get a serious "duct tape and chicken wire" impression about FIM after all of this. I'm not sure I would attempt it. I haven't contacted MS about it yet because I have a project that I need to finish so I have actually reverted back to using the delimited text MA. Even it is filling the eventlog with exceptions like:

    HRESULT: '0x80230404' Source: 'd:\bt\2172\private\source\miis\server\sqlstore\csobj.cpp(8229)'  Thread ID: '0x1C24' Additional Info: ''

    Its frustrating.


  • sexta-feira, 22 de março de 2013 08:55
     
     

    Have you tried removing the MA and seeing if the errors are actually related to the MA or not? I had an instance a while ago where I was chasing my tail for two days on a problem and It was related to a corrupted XML file for one of the MA's after I removed the MA everything work correctly and I then re-installed it and got it working as expected.


    Visit My Blog: http://theidentityguy.blogspot.com/