Sailpoint IdentityIQ Web Service Connector
Group Data <?xml version='1.0' encoding='UTF-8'?> <results preview='0'> <meta> <fieldOrder> <field>ID</field> <field>ATTR</field> <field>ATVAL</field> </fieldOrder> </meta> <messages> <msg type="DEBUG">Data informtaion</msg> <msg type="INFO">Your timerange was substituted based on your search string</msg> </messages> <result offset='0'> <field k='ID'> <value h='1'> <text>3-Role1</text> </value> </field> <field k='ATTR'> <value h='1'> <text>PROFILE</text> </value> </field> <field k='ATVAL'> <value> <text>Role one</text> </value> </field> </result> <result offset='1'> <field k='ID'> <value h='1'> <text>3-Role2</text> </value> </field> <field k='ATTR'> <value h='1'> <text>PROFILE</text> </value> </field> <field k='ATVAL'> <value> <text>Role two</text> </value> </field> </result> </results> Account Data <?xml version='1.0' encoding='UTF-8'?> <results preview='0'> <meta> <fieldOrder> <field>ID</field> <field>USERLIST</field> <field>UserNameInProfile</field> <field>EmployeeNumberProfile</field> </fieldOrder> </meta> <messages> <msg type="DEBUG">Data informtaion</msg> <msg type="INFO">Your timerange was substituted based on your search string</msg> </messages> <result offset='0'> <field k='ID'> <value h='1'> <text>3-Role1,3-Role2,3-Role3,3-Role4</text> </value> </field> <field k='USERLIST'> <value> <text>ABC123</text> </value> </field> <field k='UserNameInProfile'> <value> <text>VISHAL KEJRIWAL</text> </value> </field> <field k='EmployeeNumberProfile'> <value h='1'> <text>ABC123</text> </value> </field> </result> <result offset='1'> <field k='ID'> <value h='1'> <text>3-Role1,3-ROLE3</text> </value> </field> <field k='USERLIST'> <value> <text>XYZ123</text> </value> </field> <field k='UserNameInProfile'> <value> <text>VIS KEJ</text> </value> </field> <field k='EmployeeNumberProfile'> <value h='1'> <text>XYZ123</text> </value> </field> </result> </results>
Schema Mapping
Adding Group and Account Aggregation Operation
Context URL : URL to fetch data , this need to be same as URL use to fetch data from any API client
Header
Content-Type : text/XML
Response
Response Attribute Mapping
PROFILE :field[1]/value/text
Attribute : field[2]/value/text
ProfileName : field[3]/value/text
Root Path
//results/result
Sucessful Response Code
2**
Similar Step need to be followed for Account Aggregation
Sample WebServiceBeforeOperationRule if Endpoint URL need to be modified
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.utils.URIBuilder; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.HttpClients; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; String SEARCH_QUERY ="search index=cleanup RECTYPE=NME ID=3-* earliest=@w0 ATTR=PROFILE | table ID ATTR ATVAL"; try { List visUrlEncoded = new ArrayList(); visUrlEncoded.add(new BasicNameValuePair("search", SEARCH_QUERY)); UrlEncodedFormEntity visUrlEncodedEntity = new UrlEncodedFormEntity(visUrlEncoded); String visFinalURL = requestEndPoint.getFullUrl()+EntityUtils.toString(visUrlEncodedEntity); requestEndPoint.setFullUrl(visFinalURL); } catch (Exception exception) { log.error("Exception Occured: " + exception); } return requestEndPoint;
Hi Vishal, Can you post step by step process for webservice integration, along with all operations, entitlements. Please upload high quality images, these pics are not visible.
ReplyDelete