Soap Driver association value blank when from-merge

Hello,

I have a SOAP driver that isn't setting the association value correctly when the user has a DirXMLAssociations attribute that is missing the value like this: "cn=soapdriver,cn=driverset1,o=system#4#". If I delete the DirXMLAssociations attribute manually the driver associates correctly.

The users got into this state by doing a migration on them when they didn't have the account entitlement. The migrate event was vetoed but they kept the migration state association without a value. I'd like to be able to handle this fix in the driver and will clean up the users as well.

Here is the trace where I have tried a few things to fix it: https://pastebin.com/nWadHp16

What can I do to make sure the association value is set right?
Thanks,
Jeremiah
  • jrmhscht;2493347 wrote:
    Hello,

    I have a SOAP driver that isn't setting the association value correctly when the user has a DirXMLAssociations attribute that is missing the value like this: "cn=soapdriver,cn=driverset1,o=system#4#". If I delete the DirXMLAssociations attribute manually the driver associates correctly.

    The users got into this state by doing a migration on them when they didn't have the account entitlement. The migrate event was vetoed but they kept the migration state association without a value. I'd like to be able to handle this fix in the driver and will clean up the users as well.

    Here is the trace where I have tried a few things to fix it: https://pastebin.com/nWadHp16

    What can I do to make sure the association value is set right?
    Thanks,
    Jeremiah


    I'd probably add a subscriber event transform rule to clean this up. Something like

    if operation = sync
    if association / association state = 4
    remove association
  • Thanks for the suggestion. I haven't been able to get that to work because the user doesn't have an association value:

    Code(-9145) Error in vnd.nds.stream://IDVDEV/system/driverset1/soapdriver/Subscriber/example-sub-mp#XmlData:15 : Unable to determine target object for action 'do-remove-association(arg-association(token-association()))'

    In the posted trace, I started with a user that has cn=soapdriver,cn=driverset1,o=system#4#. When I add the account entitlement a modify event triggers on the driver with a blank association "<association state="associated"></association>". That is converted to an add, matches an existing user "<association>mz16766</association>", then converts to a modify with "<association>mz16766</association>". The event successfully updates the user in the end system, but the association is never updated with the value "mz16766".

    If the user doesn't start with a blank association "cn=soapdriver,cn=driverset1,o=system#4#" it works correctly and he ends up with "cn=soapdriver,cn=driverset1,o=system#1#mz16766"
  • On 1/10/2019 2:54 PM, jrmhscht wrote:
    >
    > Thanks for the suggestion. I haven't been able to get that to work
    > because the user doesn't have an association value:
    >
    > Code(-9145) Error in
    > vnd.nds.stream://IDVDEV/system/driverset1/soapdriver/Subscriber/example-sub-mp#XmlData:15
    > : Unable to determine target object for action
    > 'do-remove-association(arg-association(token-association()))'
    >
    > In the posted trace, I started with a user that has
    > cn=soapdriver,cn=driverset1,o=system#4#. When I add the account
    > entitlement a modify event triggers on the driver with a blank
    > association "<association state="associated"></association>". That is
    > converted to an add, matches an existing user
    > "<association>mz16766</association>", then converts to a modify with
    > "<association>mz16766</association>". The event successfully updates
    > the user in the end system, but the association is never updated with
    > the value "mz16766".
    >
    > If the user doesn't start with a blank association
    > "cn=soapdriver,cn=driverset1,o=system#4#" it works correctly and he ends
    > up with "cn=soapdriver,cn=driverset1,o=system#1#mz16766"


    You will have to remove source attribute DirXML-Associations, a
    structured attring where:
    nameSpace = 4
    volume = the auto GCV fro driver DN's
    path = blank

    The remove association token won't properly clear empty ones.


  • Thanks geoff. I created a rule that is cleaning up the DirXML-Associations before vetoing non entitled events which will prevent this from happening.