Hi,

I am currently attempting to create a REST driver. The driver needs to obtain a generated user ID from the target website through a GET call with a payload containing the user's cn. However, I haven't been able to send any payload with the GET call. Any tip or workaround to be able to send a payload in the the GET call would be greatly appreciated.

When sending a PUT, the payload sent is simply what is contained inside the <value> tags in the driver operation data.

<nds dtdversion="4.0" ndsversion="8.x">
<source>
<product edition="Advanced" version="4.5.3.0">DirXML</product>
<contact>NetIQ Corporation</contact>
</source>
<input>
<driver-operation-data class-name="User" command="modify" event-id="ATIDM01_524-NDS#20170816111452#1#1:1c4027a1-f4e2-4ff3-a4cb-5e374c7ae177" src-dn="\ATIDM\data\users\Personal\tsit">
<request>
<url-token association=""/>
<header content-type="application/json"/>
<value>{"users":[{"fullname":"Sitevision Test","userid":"tsit"}]}</value>
</request>
</driver-operation-data>
<attributes>{"users":[{"fullname":"Sitevision Test","userid":"tsit"}]}</attributes>
</input>
</nds>
[08/16/17 13:14:52.949]:SiteVision ST:SiteVision: sub-execute
[08/16/17 13:14:52.949]:SiteVision ST:SiteVision: modifyHandler
[08/16/17 13:14:52.949]:SiteVision ST:SiteVision: modifyHandler: class-name == 'User'
[08/16/17 13:14:52.949]:SiteVision ST:SiteVision: Modify: preparing PUT to https://mywebsite.se/rest-api/1/0/userimport
[08/16/17 13:14:52.949]:SiteVision ST:SiteVision: Setting the following HTTP request properties:
Authorization: <content suppressed>
[08/16/17 13:14:52.949]:SiteVision ST:SiteVision: content-type:application/json
[08/16/17 13:14:52.965]:SiteVision ST:SiteVision: Did a HTTP PUT with 58 bytes of data to https://mywebsite.se/rest-api/1/0/userimport
[08/16/17 13:14:52.980]:SiteVision ST:SiteVision: Response code and message: 200 OK
[08/16/17 13:14:52.980]:SiteVision ST:SubscriptionShim.execute() returned:



I tried to perform something similar by adding a <value> tag to the query event as well, but it seems like the driver ignores it.

<nds dtdversion="4.0" ndsversion="8.x">
<source>
<product edition="Advanced" version="4.5.3.0">DirXML</product>
<contact>NetIQ Corporation</contact>
</source>
<input>
<driver-operation-data class-name="jpeguser" command="query" event-id="0">
<request>
<url-token filter="?search-attr=&amp;read-attr=%27test%27"/>
<header content-type="application/json"/>
<value>{"query" : "userfield.userid:tsit"}</value>
</request>
</driver-operation-data>
<jpeg>{"query" : "userfield.userid:tsit"}</jpeg>
</input>
</nds>
[08/16/17 13:01:33.490]:SiteVision ST: SiteVision: sub-execute
[08/16/17 13:01:33.491]:SiteVision ST: SiteVision: queryHandler
[08/16/17 13:01:33.491]:SiteVision ST: SiteVision: queryHandler: class-name == 'jpeguser'
[08/16/17 13:01:33.491]:SiteVision ST: SiteVision: Query: preparing GET to https://mywebsite.se/rest-api/1/0/In...useridentities
[08/16/17 13:01:33.492]:SiteVision ST: SiteVision: Setting the following HTTP request properties:
Authorization: <content suppressed>
[08/16/17 13:01:33.492]:SiteVision ST: SiteVision: content-type:application/json
[08/16/17 13:01:33.713]:SiteVision ST: SiteVision: Did a HTTP GET with 0 bytes of data to https://mywebsite.se/rest-api/1/0/In...useridentities
[08/16/17 13:01:33.728]:SiteVision ST: SiteVision: Response code and message: 400 Bad Request
[08/16/17 13:01:33.728]:SiteVision ST: SubscriptionShim.execute() returned:

What I want is for the driver to send {"query" : "userfield.userid:tsit"} along with the GET.

Thank you!

Philip Sundqvist
B-IQ