Web Services Connector: Identity Link Refresh Issue from Get Object

Hi Everyone,

I am currently working on a Web Services integration (SailPoint IdentityIQ 8.x) and I’m encountering a specific BeanShell error in my Before Operation Rule for a “Get Object” (Get Object1) endpoint.

The Error: The rule fails with the following exception: Method getContextParameters() not found in class 'sailpoint.connector.webservices.EndPoint'

This happens during a context-based flow where the ProvisioningPlan is null (triggered by an Identity Refresh). My goal is to retrieve the nativeIdentity from the connector context to resolve the internal User ID for the URL placeholder.

The Logic: I am trying to replace a placeholder (updateid) in the URL with a numeric ID retrieved from the Identity Link. Since the plan is null during certain refreshes, I attempted to use requestEndPoint.getContextParameters() to find the native identity, which is causing the script to crash.

Code Snippet (Problematic Area):

Java

if (Util.isNullOrEmpty(nativeId)) {
    // This line is throwing: Method getContextParameters() not found
    Map ctxParams = requestEndPoint.getContextParameters(); 
    if (ctxParams != null) {
        nativeId = (String) ctxParams.get("nativeIdentity");
    }
}

The Second Issue: Identity Link Refresh I have also noticed that even when the provisioning status shows as <ProvisioningResult status="committed"/> for my attribute requests (Roles/Products), the Identity Link is not updating immediately after the “Get Object” execution.

  1. The “Get Object1” endpoint returns the correct raw response.

  2. The After Operation rule processes it into a ResourceObject.

  3. However, a subsequent Identity Refresh does not seem to synchronize these newly added entitlements into the Link attributes immediately.

Questions:

  1. What is the correct method to retrieve context parameters (like nativeIdentity) from the EndPoint object in a Web Services Before Operation rule when the ProvisioningPlan is null?

  2. Is there a known reason why the Identity Link wouldn’t update attributes/entitlements even after a successful “Get Object” call during a provisioning sequence?

Any insights or best practices for handling URL replacements in context-based “Get Object” calls would be greatly appreciated!

Note : I have Parent and Child aggregation operations in the integration. Please assist

FYI - Except identity refresh Everything is working fine .

If I’m understanding correctly, you are running and identity refresh task and the refresh is generating a provisioning plan to update an account on your webservice application.

The provisioning plan should be passed in to your before-operation rule.

How can you not have a provisioning plan?

I am using a Before Operation Rule for the ‘Get Object’ endpoint to dynamically update the URL. We need to replace the nativeIdentity (e.g., ‘6136024’) in the URL path with the internal numeric ID (e.g., ‘3245’). I have shared the specific rule logic and execution logs in a separate chat for your reference."

what is your complete requirement, if you can explain it better?? and share your before operation rule??

Hi @Venu1010 ,

You can get the existing nativeIdentity from requestEndPoint body or URL, then get the new nativeIdentity using your logic and then update the new native identity in URL in the requestBody using Before Operation Rule and then return the updated requestEndPoint

Hi Naveen,
I have shared the relevant XML files with all the details in the chat. Could you please review them and share your feedback?

Hi @Venu1010 ,
In the provisioning plan, you will have the nativeIdentity, you can retrieve it using plan.getNativeIdentity(), and use it in your before operation rule for further steps