Siebel CRM Desktop for IBM Notes Administration Guide > Customizing Authentication > About CRM Desktop SSO Architecture >

How CRM Desktop SSO Handles Errors


SSO script avoids creating JavaScript exceptions. If the user enables a JIT Debugger on the client computer, such as Visual Studio, then this debugger might display a separate prompt and debug message for each exception. These prompts can significantly affect the user experience. Siebel CRM SSO uses the following functions to handle exceptions:

  • cpp_exception_occurred
  • drop_exception
  • raise_not_logged_in_exception
  • raise_not_valid_exception
  • raise_cancel_exception
  • execute_request

The execute_request function is the only function that can fail with exception. It depends on the network state and the availability of Siebel Servers. If execute_request fails, then Siebel CRM SSO returns null instead of a response object to handle logic that does not include exceptions. The SSO Connector must examine the return code, determine if an error occurred, and then take corrective action.

If an exception occurs, then the SSO script does one of the following:

  • ÅPass error to Siebel Connector. Recreates the exception when flow returns to the Siebel Connector so that this connector can handle the exception. The SSO Connector script must finish running without calling any other execute_request function or calling a function that modifies the exception, such as a raise_value_ exception or drop_exception. It does this to avoid overwriting the original exception message that the script created as a result of the error.
  • Clear the exception. Use the drop_exception function to clear the exception.
  • Run another request. Use the other execute_request function to clear the previous exception.
  • Create an exception:
    • Use the raise_not_valid_exception function. In this situation, the user provided the credentials in the client but they are not valid.
    • Use the raise_not_logged_in_exception function. In this situation, the credentials are not complete or are missing.

For more information about these methods, see SSO Client Object.

How the SSO Script Sends an Error to the Connector

The following type of error determines how the SSO script sends an error to the connector:

  • Network error. If the execute_request function returns a value of Null, then the SSO script sends the error back to the connector and the connector processes the error.
  • Authentication or SSO script logic error. The SSO script translates the error to a not_valid or a not_logged_in error so that the corresponding function in the sso_client object can handle the error. It uses the following functions:
    • Uses the raise_not_logged_in_exception function for a not_logged_in error
    • Uses the raise_not_valid function for a not_valid error
  • User cancelled interactive authentication. The SSO script runs the raise_cancel_exception function to start a cancel_exception exception.

How the SSO Script Logs Errors and Messages

Siebel CRM SSO writes log messages to the CRM Desktop general log which simplifies debugging and

and gathering diagnostics. The SSO script logs information about the SSO API and application failures. For more information, see Logger Object.

Siebel CRM Desktop for IBM Notes Administration Guide Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices.