Article

pnuffer's picture
article
Reads:

3110

Score:
0
0
 
Comments:

0

Lotus Notes Troubleshooting

Author Info

19 January 2006 - 6:13am
Submitted by: pnuffer

(View Disclaimer)

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.




User Comments

© 2013 Novell