I'm stuck on this issue and could really use some help.

I am trying to recertify users with a Notes driver. I'm guessing that
this is not working for me because I'm not correctly adding the
attributes to the modify event, but I don't know how to do it.

I am using an Output Transform policy:

<xsl:template match="modify">
<xsl:apply-templates select="@*"/>
<xsl:message>### working in modify template of outputxform
###</xsl:message>
<xsl:variable name="query-doc">
<query dest-dn="{@src-dn}" scope="entry">
<read-attr attr-name="l"/>
</query>
</xsl:variable>
<xsl:variable name="result"
select="query:query($srcQueryProcessor,$query-doc)"/>
<xsl:message>### working in modify template of outputxform - should
have run query and gotten result###</xsl:message>
<xsl:if test="$result//attr[@attr-name='L']/value">
<xsl:variable name="l"
select="$result//attr[@attr-name='L']/value"/>
<xsl:message>
have location of <xsl:value-of
select="$l"/>
</xsl:message>
<xsl:choose>
<xsl:when test="string($l) = 'USA - Location1'">
<xsl:message>### Certifier for Auburn Hills selected
###</xsl:message>
<xsl:attribute name="recertify-user">True</xsl:attribute>
<xsl:attribute
name="cert-id">d:\lotus\domino\data\newtstcert.id</xsl:attribute>
<xsl:attribute name="cert-pwd">hard2get</xsl:attribute>
<add-attr attr-name="MailServer">
<value>cn=grd00005/o=testtst</value>
</add-attr>
</xsl:when>
<xsl:when test="string($l) = 'USA - Location2'">
<xsl:message>### Certifier for Albion selected ###</xsl:message>
<xsl:attribute
name="cert-id">d:\lotus\domino\data\newtstcert2.id</xsl:attribute>
<xsl:attribute name="cert-pwd">hard2get</xsl:attribute>
<xsl:attribute name="user-pwd">new2notes</xsl:attribute>
</xsl:when>
<xsltherwise>
<xsl:message>### No certifier selected ###</xsl:message>
<xsl:attribute
name="cert-id">d:\lotus\domino\data\newtstcert3.id</xsl:attribute>
<xsl:attribute name="cert-pwd">hard2get</xsl:attribute>
<xsl:attribute name="user-pwd">new2notes</xsl:attribute>
</xsltherwise>
</xsl:choose>
</xsl:if>
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>

I'm getting the location from eDirectory so that I know which certifier
to use. After this is processed the data looks like this:

<nds dtdversion="2.0" ndsversion="8.x">
<source>
<product version="2.0.5.51 ">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input cert-id="d:\lotus\domino\data\newtstcert.id"
cert-pwd="hard2get" class-name="Person"
event-id="test-25B465-NDS#20081202192509#1#2"
qualified-src-dn="O=workforce\OU=people\OU=internal\CN=BActest"
recertify-user="True"
src-dn="\AC-testWF\workforce\people\internal\BActest"
src-entry-id="40006" timestamp="1228246911#4">
<add-attr attr-name="MailServer">
<value>cn=grd00005/o=testtst</value>
</add-attr>
<modify class-name="Person"
event-id="test-25B465-NDS#20081202192509#1#2"
qualified-src-dn="O=workforce\OU=people\OU=internal\CN=BActest"
src-dn="\AC-testWF\workforce\people\internal\BActest"
src-entry-id="40006" timestamp="1228246911#4">
<association
state="associated">3409023F9EF523D7852575130056D2E F</association>
<modify-attr attr-name="FirstName">
<remove-value>
<value timestamp="1228245909#2" type="string">Butter</value>
</remove-value>
<add-value>
<value timestamp="1228246911#2"
type="string">Chowder</value>
</add-value>
</modify-attr>
<modify-attr attr-name="InternetAddress">
<remove-value>
<value timestamp="1228245909#4"
type="string">BActest@test.com</value>
</remove-value>
<add-value>
<value timestamp="1228246911#4"
type="string">CActest@test.com</value>
</add-value>
</modify-attr>
</modify>
</input>
</nds>

The input node looks pretty much as is does when I do a user create and
the certification process work fine then. When the modify event goes
through I get nothing and the trace on the Remote Loader reveals that
the parameters I've over-ridden are ignored and the driver is passing
the default certifier parameters to AdminP:

DirXML: [12/02/08 14:41:41.55]: TRACE: NotesInt:
NotesSubscriptionShim: Connected to CN=GRD00005/O=Guardiantst
DirXML: [12/02/08 14:41:41.55]: TRACE: NotesInt:
NotesSubscriptionShim: Connected as CN=Server Agent/O=guardiantst
DirXML: [12/02/08 14:41:41.55]: TRACE: NotesInt:
NotesSubscriptionShim: Reading from names.nsf
DirXML: [12/02/08 14:41:41.55]: TRACE: NotesInt:
NotesSubscriptionShim: Input Document contains 2 DirXML commands
DirXML: [12/02/08 14:41:41.56]: TRACE: NotesInt:
validateUnknownDSEntry: domino-console-command tag found.
DirXML: [12/02/08 14:41:41.56]: TRACE: NotesInt: Subscriber Modify Op:
UNID = 3409023F9EF523D7852575130056D2EF
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: Subscriber
performModifyOperation() ** attr size = 2
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: Subscriber
performModifyOperation() got attr #0
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="FirstName" attr-value=""
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="FirstName" attr-value=Chowder
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: Subscriber:
processModifyEvent - processing remove value
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: Subscriber:
performModifyOperation() ** attr type = FirstName attr value = Butter
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="FirstName" attr-value=""
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="FirstName" attr-value=Chowder
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: Subscriber:
performModifyOperation() ** attr type = FirstName attr value = Chowder
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: item is set, doing
appendToTextList
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: Subscriber
performModifyOperation() got attr #1
DirXML: [12/02/08 14:41:41.58]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="InternetAddress" attr-value=""
DirXML: [12/02/08 14:41:41.59]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="InternetAddress" attr-value=CActest@guardian.com
DirXML: [12/02/08 14:41:41.59]: TRACE: NotesInt: Subscriber:
processModifyEvent - processing remove value
DirXML: [12/02/08 14:41:41.59]: TRACE: NotesInt: Subscriber:
performModifyOperation() ** attr type = InternetAddress attr value =
BActest@guardian.com
DirXML: [12/02/08 14:41:41.59]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="InternetAddress" attr-value=""
DirXML: [12/02/08 14:41:41.59]: TRACE: NotesInt: setSpecialAttrVar:
attr-name="InternetAddress" attr-value=CActest@guardian.com
DirXML: [12/02/08 14:41:41.59]: TRACE: NotesInt: Subscriber:
performModifyOperation() ** attr type = InternetAddress attr value =
CActest@guardian.com
DirXML: [12/02/08 14:41:41.59]: TRACE: NotesInt: item is set, doing
appendToTextList
DirXML: [12/02/08 14:41:41.70]: TRACE: NotesInt: Subscriber:
performModifyOperation(). UNID = 3409023F9EF523D7852575130056D2EF
DirXML: [12/02/08 14:41:41.70]: TRACE: NotesInt: processAdminPAttrs:
User Object (CN=Pear H Actest/O=guardiantst) ClientType Field = "0"
DirXML: [12/02/08 14:41:41.70]: TRACE: NotesInt: processAdminPAttrs:
certifier expire date: 12/02/2010 02:41:41 PM EST
DirXML: [12/02/08 14:41:41.72]: TRACE: NotesInt: processAdminPAttrs:
renameNotesUser CN=Pear H Actest/O=guardiantst
parameters: LastName=* FirstName=Chowder MiddleInitial=* OrgUnit=*
AltCommonName=* AltOrgUnit=* AltLanguage=* RenameWindowsUser=false
certificate authority: isCertificateAuthorityAvailable=false
useCertificateAuthority=false CertificateAuthorityOrg=null(null)
Certifier ID file=d:\lotus\domino\data\newtstcertfake.id
DirXML: [12/02/08 14:41:42.02]: TRACE: NotesInt: processAdminPAttrs:
process modify Notes user event for CN=Pear H Actest/O=guardiantst.
Error with AdminP processing: errorID = 4000. Message: Notes error:
Could not open the ID file
DirXML: [12/02/08 14:41:42.02]: TRACE: NotesInt:
NotesSubscriptionShim: processModifyEvent AdminP processing problem. ID
= 4000. Message: Notes error: Could not open the ID file
DirXML: [12/02/08 14:41:42.08]: TRACE: Remote Loader:
SubscriptionShim.execute() returned:

If I leave the default driver certifier ID as a valid value, then the
process works as expected. The event goes in, the recertification is
submitted and then executed by AdminP.

Am I incorrectly adding attributes with my stylesheet?

-ac.


--
acherro
------------------------------------------------------------------------
acherro's Profile: http://forums.novell.com/member.php?userid=33305
View this thread: http://forums.novell.com/showthread.php?t=352852