Develop > Presentation layer > Customize IBM Sales Center > Error handlers


Define a new error handler

This section explains how to define a new error handler for a service request.

To define a new error handler in the IBM Sales Center, follow these steps:


Procedure

  1. Create a class extending com.ibm.commerce.telesales.ui.impl.handlers.StandardErrorHandler. Any new custom error handling implementation must extend the StandardErrorHandler class and invoke the super.handleError() method to ensure that the base error handling implementation is always performed.

    public class ExtStandardErrorHandler extends StandardErrorHandler {
        
        /*
         * Calling super.handleError() before the custom implementation make sure
         * that the base code implementation is always invoked.
         */
        public boolean handleError(TelesalesServicesException serviceException) {
            
            super.handleError(serviceException);         // Get the error code of the exception
            long errorCode = serviceException.getErrorCode();         // Write implementation by checking the error code that to handle.
            // Inside the code block return true if the error handling is completed, false in 
            // case you still want the default error handling to be continued for this exception. 
            // Default error handler will show an error dialog with the exception message in the user interface.
            
            if(errorCode ==
    <error code>)
            {
                // Provide the implementation.
                // return true / false
            }
            else if (errorCode ==
    <another error code>)
            {
                // Provide the implementation.
                // return true / false
            }
            else
            {
                // Return false will make sure that for any exceptions other than those 
                // are handled would be left to handle by the default implementation. For those
                // exceptions a dialog with an exception message would be shown in the 
                // user interface.
                return false;         }
        }
    }
    

  2. Define a new extension definition for IBM Sales Center error handlers extension point. You need to specify the error handler ID and the name of the class as defined in the preceding step.

    <extension
           point="com.ibm.commerce.telesales.core.errorHandler">    
    <errorHandler
              class="com.ext.commerce.telesales.ui.impl.handlers.ExtStandardErrorHandler"
              id="com.ext.commerce.telesales.extStandardErrorHandler">    
    </errorHandler>
    </extension>
    

    The Sales Center base service requests are associated with com.ibm.commerce.telesales.standardErrorHandler.

  3. Associate the newly defined error handler with a service request. You can either use an existing service request by overriding the definition with a configurator or use a new service request.

    <serviceRequest
        label="%extServiceRequest"
          requestHandlerClass="com.ext.commerce.telesales.core.impl.request.ExtLogonRequest"
          id="com.ext.commerce.telesales.extLogon"
          commServiceId="com.ibm.commerce.telesales.services.TsCommunication"
          errorHandler="com.ext.commerce.telesales.extStandardErrorHandler">
    </serviceRequest>
    


+

Search Tips   |   Advanced Search