Hello,

I am creating objects with a SOAP driver on a remote system with a
webservice. When the create is done and i get a message back from the
server, indicating the create was successful, I want to add an
association in the driver.

I do it like so:


Code:
--------------------

<xsl:if test="$result//*[local-name()='AddDepartmentResult'] = 'true'">
<xsl:message>AddAssociation DeptID: <xsl:value-of select="$lDeptID"/>
<xsl:message>AddAssociation DN: <xsl:value-of select="$lDN"/></xsl:message>
<xsl:message>AddAssociation src-entry-id: <xsl:value-of select="$lSrcEntryID"/></xsl:message>
</xsl:message>
<xsl:variable name="add-association">
<add-association>
<xsl:attribute name="dest-dn">
<xsl:value-of select="$lDN"/>
</xsl:attribute>
<xsl:attribute name="event-id">0</xsl:attribute>
<xsl:attribute name="src-entry-id">
<xsl:value-of select="$lSrcEntryID"/>
</xsl:attribute>
<xsl:value-of select="$result//*[local-name()='AddDepartmentResult']"/>
</add-association>
</xsl:variable>
<xsl:variable name="results" select="cmd:execute($srcCommandProcessor, $add-association)"/>
</xsl:if>

--------------------


I have the following namespaces and parameters in my document at the
top:


Code:
--------------------

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
exclude-result-prefixes="query cmd dncv"
version="1.0"
xmlns:cmd="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsCommandProcessor"
xmlns:dncv="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.DNConverter"
xmlns:query="http://www.novell.com/nxsl/java/com.novell.nds.dirxml.driver.XdsQueryProcessor"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- parameters passed in from the DirXML engine -->
<xslaram name="srcQueryProcessor"/>
<xslaram name="destQueryProcessor"/>
<xslaram name="srcCommandProcessor"/>
<xslaram name="destCommandProcessor"/>
<xslaram name="dnConverter"/>
<xslaram name="fromNds"/>

--------------------


The trace:


Code:
--------------------

<nds dtdversion="2.0">
<source>
<product build="20141121_0927" instance="soapIntra01" version="4.0.0.3">Identity Manager Driver for SOAP
</product>
<contact>NetIQ Corporation</contact>
</source>
<output>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<AddDepartmentResponse xmlns="http://tempuri.org/">
<AddDepartmentResult>true</AddDepartmentResult>
</AddDepartmentResponse>
</s:Body>
</s:Envelope>
</output>
<operation-data event-id="1" url="http://test.customer.dk/Services/Import/DepartmentService.svc" xm
lns:soap="http://www.w3.org/2003/05/soap-envelope"/>
<operation-data event-id="2" soap-action="http://tempuri.org/IDepartmentService/AddDepartment" xmlns:soap=
"http://www.w3.org/2003/05/soap-envelope"/>
</nds>
[08/27/15 18:06:22.540]:soapIntra01 ST: %13Cxsl:message -> Add Department - true
[08/27/15 18:06:22.540]:soapIntra01 ST: %13Cxsl:message -> AddAssociation DN: \IDVTREE\top\idv\structures\d
epartments\23395C1857F14792B6501F0BAF6FFFD2
[08/27/15 18:06:22.541]:soapIntra01 ST: %13Cxsl:message -> AddAssociation src-entry-id: 48679
[08/27/15 18:06:22.541]:soapIntra01 ST: %13Cxsl:message -> AddAssociation DeptID: 23395C1857F14792B6501F0BA
F6FFFD2
[08/27/15 18:06:22.542]:soapIntra01 ST: Direct command from policy
[08/27/15 18:06:22.543]:soapIntra01 ST:
<nds dtdversion="4.0" ndsversion="8.x">
<input>
<add-association dest-dn="\IDVTREE\top\idv\structures\departments\23395C 1857F14792B6501F0BAF6FFFD2" even
t-id="0" src-entry-id="48679" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">false</add-association>
</input>
</nds>
[08/27/15 18:06:22.545]:soapIntra01 ST: Pumping XDS to eDirectory.
[08/27/15 18:06:22.545]:soapIntra01 ST:
DirXML Log Event -------------------
Driver: \IDVTREE\top\system\IDMDriverSet01\soapIntra01
Channel: Subscriber
Object: \IDVTREE\top\idv\structures\departments\23395C1857 F14792B6501F0BAF6FFFD2
Status: Error
Message: Code(-9061) Error processing XSLT policy: vnd.nds.stream://IDVTREE/top/system/IDMDriverSet01/
soapIntra01/Subscriber/itq-sub-output#XmlData (117): <xsl:variable>: expression evaluation error: function c
all to 'cmd:execute' resulted in an error: 'java.lang.NullPointerException'
[08/27/15 18:06:22.557]:soapIntra01 ST:Processing returned document.
[08/27/15 18:06:22.558]:soapIntra01 ST:Processing operation <status> for .
[08/27/15 18:06:22.558]:soapIntra01 ST:
DirXML Log Event -------------------
Driver: \IDVTREE\top\system\IDMDriverSet01\soapIntra01
Channel: Subscriber
Object: \IDVTREE\top\idv\structures\departments\23395C1857 F14792B6501F0BAF6FFFD2
Status: Error
Message: Code(-9037) One or more errors occurred while processing an XSLT policy.
[08/27/15 18:06:22.568]:soapIntra01 ST:End transaction.

--------------------


So it looks like the data for the assicoation attribute is okay, but for
some reason I get a "java.lang.NullPointerException".

This is an IDM 4.5.1 system. In production this driver works, and the
association add works aswell. So, I might think that the upgrade has
broken this functionality. I don't know how though.

Driver is version 4.0.0.3.

Any ideas?

thanks in advance,

Jacob.


--
jacmarpet
------------------------------------------------------------------------
jacmarpet's Profile: https://forums.netiq.com/member.php?userid=415
View this thread: https://forums.netiq.com/showthread.php?t=54150