Article
Problem
My Lotus Notes driver is returning a strange error when trying to remove a non-present value from a person document of the Notes Address Book. The driver returns the following error:
<status event-id="dsasdk01#20041118161252#1#2" level="retry">NotesSubscriptionShim: processModifyEvent Failure synchronizing to Notes. ID = 4362. Message: Vector must contain objects all of the same class</status>
Solution
The "Vector must contain objects all of the same class" error can occur when an attribute within eDirectory is of one type (type="string", for a value of syntax "Case Ignore String"), and this attribute is being mapped to a Notes document field of different type (type="int", for a value of data type "Number List").
To remedy this problem, it is necessary to use a policy that inserts the appropriate XML text, such as type="int" into each XDS value element.
Note: This solution works for all supported IDM OS's.
<modify class-name="User" src-dn="\Sam">
<association state=associated>0DEB716EFBCC809487256E910076D11D</association>
<modify-attr attr-name="Telephone Number">
<remove-value>
<value type=string>555-2222</value>
</remove-value>
<add-value>
<value type=string>555-1212</value>
</add-value>
</modify-attr>
<modify-attr attr-name="PhoneExtension">
<remove-value>
<value type=int>1234</value>
</remove-value>
<add-value>
<value type=int>4321</value>
</add-value>
</modify-attr>
</modify>Example
Depending on the circumstances, a policy similar to the XSLT policy below can provide the needed text insertion.
<xsl:template match="value[ancestor::*[@attr-name='PhoneExtension']]">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:attribute name="type">
<xsl:value-of select="'int'"/>
</xsl:attribute>
<xsl:apply-templates select="node()"/>
</xsl:copy>
</xsl:template>
Disclaimer: As with everything else at Cool Solutions, this content is definitely not supported by Novell (so don't even think of calling Support if you try something and it blows up).
It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.
Related Articles
User Comments
- Be the first to comment! To leave a comment you need to Login or Register
- 3164 reads


0