Share all details about your problem, including any error messages you may have received.
Hello everyone,
I have a requirement to retrieve an additional account attribute in a Web Services connector before executing the “Enable” operation, so I can adjust the logic accordingly.
The only way to obtain this attribute is via the API method getUser, which is currently used in the “Get Object” operation (single account aggregation).
What would be the best way to call this method from a rule and process the response?
Alternatively, is it possible to trigger the “Get Object” operation from within a rule instead of making a direct API call?
You can use a WebServicesClient class methods to call the API in the before operation rule. You can use restClient parameter of type WebServicesClient to call the APIs
@d_pustovoitov You can also achieve this without using any rule. I believe you already have a getObject endpoint configured, you can duplicate it and give the same name as you gave for Enable endpoint. if there are multiple entries available for the same operation, IIQ executes all of them in top to bottom order. So your getObject will call first → then Enable endpoint. Give it a try if it helps you out.
Thank you. This helped a lot. However, using the Before Operation rule isn’t a good option for our case, since we need to modify the provisioning plan for subsequent operations. From what I’ve tested, this approach doesn’t work with this rule type.
I’ve tried implementing this code, but identityFound is always null in our case. I also verified the “connectorDebug get account” command from the IIQ console, and it returns the following error:
sailpoint.connector.ConnectorException: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Could this SSL error be the reason why the account is not being returned?
Thank you for the information. I believe it will be useful for future integrations. Unfortunately, it looks like I won’t be able to use this approach for this particular case.
Yes, this is related to certificate error, two systems are not able to communicate to each other. please import the app cert in your sailpoint envionrnment.
can you get the cert from the app team, or if you can export it from browser using below command and then try it, it should work, prix path validation failed error, are always related with certificate.
There is only this web services app connected to our iiq instance, so I can’t check the other apps with this connector type. Every other connector works perfectly fine
@d_pustovoitov Could you please try this, in your customization rule make getUser API call for every user which can populate your attribute. As this will populate during aggregation, it’ll persist on the user.
Then in your enable endpoint and workflow, you can directly access this attribute. Please give it a try.
Unfortunately, we’re still working on the issue with the certificates with the support. And Get Object still returns null every time. So, I’ll try as soon as we’ll be able to execute the Get Object operation.
We’ve finally managed to fix the issue with the certificates.
And now the getObject works perfectly fine returning full account attributes from the single account aggregation.
I’m currently working on passing it inside the plan and using it later in workflows.