Anyone else seen this type of problem? I'm surprised it hasn't bitten anyone else yet. (or maybe I'm just doing something wrong)

I'm trying to use the transform a query to driver activation ping + operation data to avoid actually querying the destination system trick.
The issue is that the operation-data is not re-attached to the response (I've tried various parent-node-1 combinations, to no avail).
Without this operation-data, it's impossible to distinguish this response from any other driver activation ping and thus the input transform policy which reformats the instance response is never triggered.

This trick is used in the AD driver and also the latest delimited text driver packages.
The idea behind it is to allow entitlement queries (for example as triggered by code map refresh) to return a pre-defined result (without actually querying the destination system).

For example:

Code Map Refresh injects a query like this:

<nds dtdversion="2.0">
<input>
<query class-name="GenericAppDomain" event-id="0" scope="subtree">
<search-class class-name="GenericAppDomain"/>
<read-attr attr-name="GenericAppDomainDescription"/>
<read-attr attr-name="GenericAppDomainValue"/>
<read-attr attr-name="GenericAppDomainDisplayName"/>
</query>
</input>
</nds>

Then an output policy transforms it to:

<nds dtdversion="2.0">
<input>
<query event-id="query-driver-ident" scope="entry">
<search-class class-name="__driver_identification_class__"/>
<read-attr/>
<operation-data UserAccountEntitlementQuery="DC=ACME,DC=COM"/>
</query>
</input>
</nds>

This is processed by the shim (and never sent to destination system). The response is for example:

<source>
<product build="20121219_161345" instance="New360-test" version="4.0.0.0">Identity Manager Driver for SOAP</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<instance class-name="__driver_identification_class__">
<attr attr-name="driver-id">
<value type="string">SOAP</value>
</attr>
<attr attr-name="driver-version">
<value type="string">4.0.0.0</value>
</attr>
<attr attr-name="min-activation-version">
<value type="int">3</value>
</attr>
</instance>
</output>
</nds>

Again, the issue is that the operation-data is not re-attached to the response (I've tried various parent-node-1 combinations, to no avail)

--
If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below...