Access External REST Services
The external REST service lets you access remote REST services at the openidm/external/rest
context path, or by specifying the external/rest
resource in your scripts. Note that this service is not intended as a full connector to synchronize or reconcile identity data, but as a way to make dynamic HTTP calls as part of the IDM logic. For more declarative and encapsulated interaction with remote REST services, and for synchronization or reconciliation operations, use the scripted REST implementation of the Groovy connector.
An external REST call via a script might look something like the following:
openidm.action("external/rest", "call", params);
The call
parameter specifies the action name to be used for this invocation, and is the standard method signature for the openidm.action
method.
An external REST call over REST might look something like the following:
curl \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --header "Content-Type: application/json" \ --header "Accept-API-Version: resource=1.0" \ --request POST \ --data '{ "url": "http://urlecho.appspot.com/echo?status=200&Content-Type=application%2Fjson&body=%5B%7B%22key%22%3A%22value%22%7D%5D", "method": "GET" }' \ "http://localhost:8080/openidm/external/rest?_action=call"
[ { "key": "value" } ]