getNextExternalOperations
Retrieves pending external operation(s) for the specified Credential Transaction where the resulting data from external processing is subsequently used to advance the Credential transaction.
Currently, this method returns external operations that are related to OPER_ID_CRED_UNLOCK and the two external operations that are returned in sequence are:
-
CRED_EXOP_GETCHALLENGE: which requires the CRED_EXOP_ PARAM_GETCHALLENGE_RESPONSE parameter.
-
CRED_EXOP_UNLOCK: which contains the CRED_EXOP_PARAM_UNLOCKCODE_RESPONSE external operation parameter.
The pending external operation(s) are formed during credential usage where processing involves multiple steps that require interaction with an entity external to the CredentialManager. Pending external operations can be queued or requested, and result from calling the openSession entry point.
Once external processing is complete, the updated processed external operation is returned to the CredentialManager to advance or complete the workflow using this same entry point.
These updated external operation results may cause further pending external operations to be queued or requested. The passed-in completed ExternalOperations are the results of the processing of the ExternalOperation(s) returned from a previous call to getNextExternalOperations.
For Java:
ExternalOperation[] getNextExternalOperations( TransactionId txId, ExternalOperation[] completedExternalOps)
throws NoSuchTransactionException, MalformedDataException, InvalidStateException, SessionException, ManagementException, LocalizedRemoteException;
For C++:
ExternalOperationVector *getNextExternalOperations( TransactionId *txId, ExternalOperationVector*completedExternalOps)
Parameters:
-
txId—Credential transaction identifier.
-
completedExternalOps—Previously completed external operations populated with Credential Elements from each External Operation's execution.
Returns:
Zero (0) or more generated external operation(s) for the specified transaction.
Exceptions:
-
NoSuchTransactionException—if the specified transaction is not found.
-
MalformedDataException—if the input data was malformed.
-
InvalidStateException—if credential deletion violates one or more of the credential’s lifecycles.
-
SessionException—if there is no valid session (such as session not opened or timed out).
-
ManagementException—if an internal failure occurs or if the external processing was completed with an unrecoverable error.
-
LocalizedRemoteException— (thrown by the Web service layer) only when the most severe, unexpected, SOAP-level failures occur.
See the openSession section for related parameter details.