SailPoint: BeforeOperationRule: getNativeIdentity()

Hello,

Thanks everyone for your suggestion! Here how I solved this problem:

Application Type: WebService
Operation: Get Object

BODY

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gar="http://__SOME__SCHEMA__">
<soapenv:Header/>
<soapenv:Body>
<gar:AggregUserRequest vtaRequester="VTAREQUESTER" requester="VTAREQUESTER" uid="$plan.nativeIdentity$" />
</soapenv:Body>
</soapenv:Envelope>

RULE

Rule Type: WebServiceBeforeOperationRule

import java.util.Map;
import custom.package.IDMService;

IDMService service = new IDMService(context, log);
String vtaRequester=  service.getRequester();
   
Map bodyMap = requestEndPoint.getBody();
String body = bodyMap.get("jsonBody");
if ( null != vtaRequester) {
	body = body.replace("VTAREQUESTER", vtaRequester);
}
bodyMap.put("jsonBody", body);
requestEndPoint.setBody(bodyMap);
return requestEndPoint;

Finally I used the $plan.nativeIdentity$ in the body, as @Arpitha1 and @mkumariaas suggested.

Another solution is to use $getobject.nativeIdentity$ in the requestEndPoint, as SivaLankapalli suggested

Cheers,
Gianfranco

1 Like