Search code examples
identity-managementoim

How to propagate a Business Fault to Oracle Identity Manager (OIM) UI


I have an application instance, backed by a web service using OIM Webservices Connector.

This connector is used in a synchronous manner by OIM, so when I create a new account in OIM for this application instance, the webservice calls the partner link's method.

Until the method ends its execution, the OIM screen hangs (as expected).

What seems strange to me is that, no matter the partner link's method executes successfully or not (when it does not execute properly, it throws an exception), the OIM operation actually ignores the exception and completes the operation.

enter image description here

Even if I explicitly throw an exception in the BPEL, I can see the error in the webservice log in weblogic, but the OIM method completes anyway.

enter image description here enter image description here

What one would expect from a situation like this, I guess, is that OIM could just give an error message on the screen, because the operation failed. But no, OIM ignores the errors and go on.

Then I've tried to change the process definition in Design Console to force the process to stop on any error, setting the flag "required for completion" below

enter image description here

So I think I am missing something here

How can I make OIM abort some operation when the webservice connector throws an exception?


Solution

  • Assuming you're throwing a ConnectorException, check in the 'Responses' tab that you have that exception mapped, and in the 'Task to Object Status Mapping' you're setting the desired target Object Status for the object status setted before.