Lotus Notes Troubleshooting
Novell Cool Solutions: Tip
By Perry Nuffer
Reader Rating
from 2 ratings
|
Digg This -
Slashdot This
Posted: 19 Jan 2006 |
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>
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com
