friedman16 Absent Member.
Absent Member.
534 views

A merge creating multiple entries

I have a SOAP driver that listens on a specific port for a document. (the document is information for a user ID). As it processes the document, it tries to match it to an existing user. If it does find an existing user, and if that user already has an entry for homePhone, homeCity, homeState and homeZipCode, then after the merge there are TWO entries for each of those attributes.

The weird part is that the document converts to a modify and even has entries to REMOVE the old value before adding the new one. But, still, the old value is there. I checked the driver and the security equivalent is equal to admin. Any ideas on why the old values are not being overwritten?


here is the document before it finishes the publisher channel (I can add more if needed):

<nds dtdversion="4.0" ndsversion="8.x">
<source>
<product edition="Advanced" version="4.6.3.0">DirXML</product>
<contact>NetIQ Corporation</contact>
</source>
<input>
<modify class-name="User" dest-dn="\IAMT-WD-VAULT\OSU\vault\users\U9461182" dest-entry-id="3110324" from-merge="true">
<modify-attr attr-name="homePhone">
<remove-value>
<value timestamp="1519933387#319" type="teleNumber">402/555-9999</value>
</remove-value>
<add-value>
<value type="string">6145551234</value>
</add-value>
</modify-attr>
<modify-attr attr-name="homeCity">
<remove-value>
<value timestamp="1519933387#318" type="string">Massillon</value>
</remove-value>
<add-value>
<value type="string">Narwhal</value>
</add-value>
</modify-attr>
<modify-attr attr-name="Given Name">
<remove-value>
<value timestamp="1519933387#312" type="string">McKaylee</value>
</remove-value>
<add-value>
<value type="string">NameNo</value>
</add-value>
</modify-attr>
<modify-attr attr-name="homeState">
<remove-value>
<value timestamp="1519933387#320" type="string">OH</value>
</remove-value>
<add-value>
<value type="string">ID</value>
</add-value>
</modify-attr>
<modify-attr attr-name="DirXML-Associations">
<remove-value>
<value timestamp="1519977946#1" type="structured">
<component name="nameSpace">1</component>
<component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\Notification</component>
<component name="path">\IAMT-WD-VAULT\OSU\vault\users\U9461182</component>
</value>
<value timestamp="1530057376#2" type="structured">
<component name="nameSpace">1</component>
<component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\DirAuth</component>
<component name="path">{5C1AB222-0551-7641-8DA2-5C1AB2220551}</component>
</value>
<value timestamp="1539881786#1" type="structured">
<component name="nameSpace">1</component>
<component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\Business Logic_IDGenerator</component>
<component name="path">\IAMT-WD-VAULT\OSU\vault\users\U9461182</component>
</value>
<value timestamp="1539881786#6" type="structured">
<component name="nameSpace">1</component>
<component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\Business Rules Loopback</component>
<component name="path">\IAMT-WD-VAULT\OSU\vault\users\U9461182</component>
</value>
<value timestamp="1539882463#1" type="structured">
<component name="nameSpace">1</component>
<component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\wdStudio</component>
<component name="path"/>
</value>
</remove-value>
</modify-attr>
<modify-attr attr-name="Surname">
<remove-value>
<value timestamp="1519933387#310" type="string">True</value>
</remove-value>
<add-value>
<value type="string">Ttomatch</value>
</add-value>
</modify-attr>
<modify-attr attr-name="homeZipCode">
<remove-value>
<value timestamp="1519933387#321" type="string">68516-4000</value>
</remove-value>
<add-value>
<value type="string">43210</value>
</add-value>
</modify-attr>
<modify-attr attr-name="OSUhomeAddr1">
<remove-value>
<value timestamp="1519933387#335" type="string">5522 BMW Ln</value>
</remove-value>
<add-value>
<value type="string">Fred</value>
</add-value>
</modify-attr>
<modify-attr attr-name="OSUExternalEmail">
<remove-all-values/>
<add-value>
<value type="string">redink+120@gmail.com</value>
</add-value>
</modify-attr>
<modify-attr attr-name="OSUworkdayUniversalIDtemp">
<remove-all-values/>
<add-value>
<value type="string">50006677</value>
</add-value>
</modify-attr>
<modify-attr attr-name="OSUworkdayPrehireWID">
<add-value>
<value type="string">b59c9794aea601cfef1b6af621084acb</value>
</add-value>
</modify-attr>
<modify-attr attr-name="OSUworkdayUniversalID">
<remove-all-values/>
<add-value>
<value type="string">500062512</value>
</add-value>
</modify-attr>
<modify-attr attr-name="OSUworkdayPrehireID">
<remove-all-values/>
<add-value>
<value type="string">A5000000351</value>
</add-value>
</modify-attr>
<modify-attr attr-name="OSUworkdayPrehireGUID">
<add-value>
<value type="string">b59c9794aea601cfef1b6af621084acb</value>
</add-value>
</modify-attr>
<operation-data OSUidmId="U9461182"/>
</modify>
<add-association dest-dn="\IAMT-WD-VAULT\OSU\vault\users\U9461182">500062512</add-association>
</input>
</nds>
[10/18/18 13:07:43.688]:wdStudio PT:Filtering out notification-only attributes.
[10/18/18 13:07:43.688]:wdStudio PT:Stripping operation data from input document
[10/18/18 13:07:43.689]:wdStudio PT:Pumping XDS to eDirectory.
[10/18/18 13:07:43.689]:wdStudio PT:Performing operation modify for \IAMT-WD-VAULT\OSU\vault\users\U9461182.
[10/18/18 13:07:43.690]:wdStudio PT:--JCLNT-- \IAMT-WD-VAULT\OSU\services\drivers\wdStudio - Publisher : Duplicating : context = 382402725, tempContext = 382402732
[10/18/18 13:07:43.691]:wdStudio PT:Modifying entry \IAMT-WD-VAULT\OSU\vault\users\U9461182.
[10/18/18 13:07:43.810]:wdStudio PT:--JCLNT-- \IAMT-WD-VAULT\OSU\services\drivers\wdStudio - Publisher : Calling free on tempContext = 382402732
[10/18/18 13:07:43.811]:wdStudio PT:Performing operation add-association for \IAMT-WD-VAULT\OSU\vault\users\U9461182.
[10/18/18 13:07:43.818]:wdStudio PT:Restoring operation data to output document
[10/18/18 13:07:43.818]:wdStudio PT:
DirXML Log Event -------------------
Driver: \IAMT-WD-VAULT\OSU\services\drivers\wdStudio
Channel: Publisher
Object: \IAMT-WD-VAULT\OSU\vault\users\U9461182
Status: Success
[10/18/18 13:07:43.820]:wdStudio PT:
DirXML Log Event -------------------
Driver: \IAMT-WD-VAULT\OSU\services\drivers\wdStudio
Channel: Publisher
Object: \IAMT-WD-VAULT\OSU\vault\users\U9461182
Status: Success
Labels (1)
0 Likes
5 Replies
Anonymous_User Absent Member.
Absent Member.

Re: A merge creating multiple entries

friedman16 <friedman16@no-mx.forums.microfocus.com> wrote:
>

I have a SOAP driver that listens on a specific port for a document.
(the document is information for a user ID). As it processes the
document, it tries to match it to an existing user. If it does find an
existing user, and if that user already has an entry for homePhone,
homeCity, homeState and homeZipCode, then after the merge there are TWO
entries for each of those attributes.
>
> The weird part is that the document converts to a modify and even has

entries to REMOVE the old value before adding the new one. But, still,
the old value is there. I checked the driver and the security
equivalent is equal to admin. Any ideas on why the old values are not
being overwritten?
>
>
> here is the document before it finishes the publisher channel (I can add

more if needed):
>
>

Code:
--------------------
<nds dtdversion="4.0" ndsversion="8.x">
> <source>
> <product edition="Advanced" version="4.6.3.0">DirXML</product>
> <contact>NetIQ Corporation</contact>
> </source>
> <input>
> <modify class-name="User"
> dest-dn="\IAMT-WD-VAULT\OSU\vault\users\U9461182" dest-entry-id="3110324"
> from-merge="true">
> <modify-attr attr-name="homePhone">
> <remove-value>
> <value timestamp="1519933387#319" type="teleNumber">402/555-9999</value>
> </remove-value>
> <add-value>
> <value type="string">6145551234</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="homeCity">
> <remove-value>
> <value timestamp="1519933387#318" type="string">Massillon</value>
> </remove-value>
> <add-value>
> <value type="string">Narwhal</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="Given Name">
> <remove-value>
> <value timestamp="1519933387#312" type="string">McKaylee</value>
> </remove-value>
> <add-value>
> <value type="string">NameNo</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="homeState">
> <remove-value>
> <value timestamp="1519933387#320" type="string">OH</value>
> </remove-value>
> <add-value>
> <value type="string">ID</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="DirXML-Associations">
> <remove-value>
> <value timestamp="1519977946#1" type="structured">
> <component name="nameSpace">1</component>
> <component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\Notification</component>
> <component name="path">\IAMT-WD-VAULT\OSU\vault\users\U9461182</component>
> </value>
> <value timestamp="1530057376#2" type="structured">
> <component name="nameSpace">1</component>
> <component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\DirAuth</component>
> <component name="path">{5C1AB222-0551-7641-8DA2-5C1AB2220551}</component>
> </value>
> <value timestamp="1539881786#1" type="structured">
> <component name="nameSpace">1</component>
> <component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\Business
> Logic_IDGenerator</component>
> <component name="path">\IAMT-WD-VAULT\OSU\vault\users\U9461182</component>
> </value>
> <value timestamp="1539881786#6" type="structured">
> <component name="nameSpace">1</component>
> <component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\Business
> Rules Loopback</component>
> <component name="path">\IAMT-WD-VAULT\OSU\vault\users\U9461182</component>
> </value>
> <value timestamp="1539882463#1" type="structured">
> <component name="nameSpace">1</component>
> <component name="volume">\IAMT-WD-VAULT\OSU\services\drivers\wdStudio</component>
> <component name="path"/>
> </value>
> </remove-value>
> </modify-attr>
> <modify-attr attr-name="Surname">
> <remove-value>
> <value timestamp="1519933387#310" type="string">True</value>
> </remove-value>
> <add-value>
> <value type="string">Ttomatch</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="homeZipCode">
> <remove-value>
> <value timestamp="1519933387#321" type="string">68516-4000</value>
> </remove-value>
> <add-value>
> <value type="string">43210</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="OSUhomeAddr1">
> <remove-value>
> <value timestamp="1519933387#335" type="string">5522 BMW Ln</value>
> </remove-value>
> <add-value>
> <value type="string">Fred</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="OSUExternalEmail">
> <remove-all-values/>
> <add-value>
> <value type="string">redink+120@gmail.com</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="OSUworkdayUniversalIDtemp">
> <remove-all-values/>
> <add-value>
> <value type="string">50006677</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="OSUworkdayPrehireWID">
> <add-value>
> <value type="string">b59c9794aea601cfef1b6af621084acb</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="OSUworkdayUniversalID">
> <remove-all-values/>
> <add-value>
> <value type="string">500062512</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="OSUworkdayPrehireID">
> <remove-all-values/>
> <add-value>
> <value type="string">A5000000351</value>
> </add-value>
> </modify-attr>
> <modify-attr attr-name="OSUworkdayPrehireGUID">
> <add-value>
> <value type="string">b59c9794aea601cfef1b6af621084acb</value>
> </add-value>
> </modify-attr>
> <operation-data OSUidmId="U9461182"/>
> </modify>
> <add-association
> dest-dn="\IAMT-WD-VAULT\OSU\vault\users\U9461182">500062512</add-association>
> </input>
> </nds>
> [10/18/18 13:07:43.688]:wdStudio PT:Filtering out notification-only attributes.
> [10/18/18 13:07:43.688]:wdStudio PT:Stripping operation data from input document
> [10/18/18 13:07:43.689]:wdStudio PT:Pumping XDS to eDirectory.
> [10/18/18 13:07:43.689]:wdStudio PT:Performing operation modify for
> \IAMT-WD-VAULT\OSU\vault\users\U9461182.
> [10/18/18 13:07:43.690]:wdStudio PT:--JCLNT--
> \IAMT-WD-VAULT\OSU\services\drivers\wdStudio - Publisher : Duplicating :
> context = 382402725, tempContext = 382402732
> [10/18/18 13:07:43.691]:wdStudio PT:Modifying entry
> \IAMT-WD-VAULT\OSU\vault\users\U9461182.
> [10/18/18 13:07:43.810]:wdStudio PT:--JCLNT--
> \IAMT-WD-VAULT\OSU\services\drivers\wdStudio - Publisher : Calling free
> on tempContext = 382402732
> [10/18/18 13:07:43.811]:wdStudio PT:Performing operation
> add-association for \IAMT-WD-VAULT\OSU\vault\users\U9461182.
> [10/18/18 13:07:43.818]:wdStudio PT:Restoring operation data to output document
> [10/18/18 13:07:43.818]:wdStudio PT:
> DirXML Log Event -------------------
> Driver: \IAMT-WD-VAULT\OSU\services\drivers\wdStudio
> Channel: Publisher
> Object: \IAMT-WD-VAULT\OSU\vault\users\U9461182
> Status: Success
> [10/18/18 13:07:43.820]:wdStudio PT:
> DirXML Log Event -------------------
> Driver: \IAMT-WD-VAULT\OSU\services\drivers\wdStudio
> Channel: Publisher
> Object: \IAMT-WD-VAULT\OSU\vault\users\U9461182
> Status: Success

--------------------


--
friedman16
------------------------------------------------------------------------
friedman16's Profile: https://forums.novell.com/member.php?userid=170286
View this thread: https://forums.novell.com/showthread.php?t=509756

>


Hi Friedman.

I think we need a full sanitized level 3 log to know for sure, but I think
you should check the driver filter settings for merge authority. Setting it
to app should overwrite the existing values in idv with the app values.

--
Best regards
Marcus
0 Likes
Knowledge Partner
Knowledge Partner

Re: A merge creating multiple entries

friedman16 <friedman16@no-mx.forums.microfocus.com> wrote:
>

existing user, and if that user already has an entry for homePhone,
homeCity, homeState and homeZipCode, then after the merge there are TWO
entries for each of those attributes.
>
> The weird part is that the document converts to a modify and even has

entries to REMOVE the old value before adding the new one. But, still,
the old value is there. I checked the driver and the security
equivalent is equal to admin. Any ideas on why the old values are not
being overwritten?
>
>


Check driver filter. Particularly merge authority for these attributes.
Needs to be set to application.
Alex McHugh - Knowledge Partner - Stavanger, Norway
Who are the Knowledge Partners
If you appreciate my comments, please click the Like button.
If I have resolved your issue, please click the Accept as Solution button.
0 Likes
Knowledge Partner
Knowledge Partner

Re: A merge creating multiple entries

So you're saying that prior to the merge / update, the user had one telephone number (for example), and after, he has two? Despite the trace here clearly showing a remove and an add for telephone number?


<modify-attr attr-name="homePhone">
<remove-value>
<value timestamp="1519933387#319" type="teleNumber">402/555-9999</value>
</remove-value>
<add-value>
<value type="string">6145551234</value>
</add-value>
</modify-attr>


If so, that's not a merge authority problem.

You have another driver with "reset" on these attributes maybe? I've seen that before, where this driver removes it, and another driver puts it back.
0 Likes
friedman16 Absent Member.
Absent Member.

Re: A merge creating multiple entries

So you're saying that prior to the merge / update, the user had one telephone number (for example), and after, he has two? Despite the trace here clearly showing a remove and an add for telephone number?

Code:
<modify-attr attr-name="homePhone">
<remove-value>
<value timestamp="1519933387#319" type="teleNumber">402/555-9999</value>
</remove-value>
<add-value>
<value type="string">6145551234</value>
</add-value>
</modify-attr>
If so, that's not a merge authority problem.

You have another driver with "reset" on these attributes maybe? I've seen that before, where this driver removes it, and another driver puts it back.



To answer your question, that is exactly what is happening. The telephone number and a few other attributes, have two entries despite the trace showing a remove and an add. So I did set the Merge Authority to Application. However, the problems persists. I will start looking at other drivers with a reset for these attributes.

In the mean time, any other ideas for me to look into?

Thanks for your help.
Frank
0 Likes
Knowledge Partner
Knowledge Partner

Re: A merge creating multiple entries

friedman16 wrote:

>
> > You have another driver with "reset" on these attributes maybe? I've
> > seen that before, where this driver removes it, and another driver puts
> > it back.

>
>
> To answer your question, that is exactly what is happening. The
> telephone number and a few other attributes, have two entries despite
> the trace showing a remove and an add. So I did set the Merge Authority
> to Application. However, the problems persists. I will start looking
> at other drivers with a reset for these attributes.
>


It could be a policy rather than just a reset. You might need to search through
your entire driverset (eaisest to do this in Designer) to see where these
attributes are referenced in policies.

> In the mean time, any other ideas for me to look into?
>


Deploy a null driver and add as subscriber notify these attributes..
Don't start it... just leave it there with startup as manual (not disabled)

Look at the cached events as they come in - specifically event-id. That might
give you a cheap hint for where each change occurred.

In general if it occurred in a connected system (ie publisher thread) and the
shim is well behaved, you should see the driver/shim it originated in.
If the change originated in a business logic (or as channel-write-back on the
subscriber channel) it will show up in the event-id as the server that the
driver runs on.

Look at iMonitor timestamps on the attributes and compare to events for same
objects mentioned in traces from your various drivers.

--
If you find this post helpful, and are viewing this using the web, please show
your appreciation by clicking on the star below
Alex McHugh - Knowledge Partner - Stavanger, Norway
Who are the Knowledge Partners
If you appreciate my comments, please click the Like button.
If I have resolved your issue, please click the Accept as Solution button.
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.