Lotus Notes Troubleshooting

Novell Cool Solutions: Tip
By Perry Nuffer

Digg This - Slashdot This

Posted: 19 Jan 2006


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>


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">
     <value type=”string”>555-2222</value>
     <value type=”string”>555-1212</value>
 <modify-attr attr-name="PhoneExtension">
     <value type=”int”>1234</value>
     <value type=”int”>4321</value>


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:apply-templates select="@*"/>
   <xsl:attribute name="type">
     <xsl:value-of select="'int'"/>
   <xsl:apply-templates select="node()"/>

Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© Micro Focus