Skip to main content

ERROR HANDLING IN WCS

ECApplicationException :

This exception is thrown if the error is related to user input and will always fail. For example, when a user enters an invalid parameter, an ECApplicationException is thrown. When this exception is thrown, the solution controller does not retry the command, even if it is specified as a retriable command.

ECSystemException:

This exception is thrown if a runtime exception or a Websphere Commerce configuration error is detected. Examples of this type of exception include create exceptions, remote exceptions, and other EJB exceptions. When this type of exception is thrown, the solution controller retries the command if the command is retriable and the exception was caused by either a database deadlock or database rollback.

Both of the exception types are classes that extend from the ECException class, which is found in the com.ibm.commerce.exception package.
In order to throw one of these exceptions, the following information must be specified:
Error view name :
                The view that will be used to display the error. For web requests, the web controller looks up this name in the Struts configuration files.
ECMessage object :
                ECMessage defines the static information related to the reason for the exception. This value corresponds to the message text contained within a properties file.
ECParameter :
                ECParameter returns the errors associated with the application. The exceptions can indicate multiple errors since each part of an application exception represent an error.

Exceptions handling is tightly integrated with the logging system. When a system exception is thrown, it is automatically logged.

Writing user own exceptions handling logic involves the following steps:
1.       Catching the exceptions in your command that require special processing.
2.       Constructing either an ECApplicationException or ECSystemException, based upon the type of exception caught.
3.       If the ECApplicationException uses a new message, defining the message in a new properties file.


  

Comments

Popular posts from this blog

Issues While Starting WAS Server

This happens when there is other application which is also using the same port 8880. To resolve the issue, we need to find which application is using the port 8880 through 'netstat' command in command prompt or update our WAS server to not use 8880. We can update the WAS server through these steps: 1) Stop  WAS. 2) Browse to or search for the serverIndex.xml, for example, at "C:\WAS\AppServer\config\yourNode\nodes\yourNode\serverindex.xml" 3) Open the file and locate the following lines:               endPointName="SOAP_CONNECTOR_ADDRESS"> 4) Change "port 8880" to an available port 5) Save the serverindex.xml and restart WAS

Dataload Utility

Data can be loaded into WCS tables using data load utility. WCS Data Load utility performs the following functions in a single operation: 1.                Reads the data from the input source file. 2.                Transforms the source data to Web Sphere Commerce business objects. 3.                Allocates and resolves Web Sphere Commerce business objects to physical data. 4.                Loads the physical data into the database. There are three configurations files and a input source file required to complete the data loader setup. WCS supports only CSV File Reader for other input source you have to write your own Reader Class. This means that if you are using OOB CSV Reader then your input file must be...

Webpshere Commerce Registry

Registry is an another solution for those which can’t be cached using Dyna cache. Another use would be to store configuration data for a store. By using registry, you don't need a server   restart   every time as organization admin console provides an   interface   to refresh registry. The new custom registries will be appearing in the admin console under the   registry section. Steps to create a new custom registry in WCS Step 1. Register the registry in wc-server.xml. <Registries> ...... ..... <registry name="TestRegistry" regClassName="com.wcs.registry.TestRegistry "/>   </Registries> Step 2.Create  a class that implements   interface   com.ibm.commerce.registry.Registry package com.wcs.registry; import java.util.HashMap; import com.ibm.commerce. exception .ECException; import com.ibm.commerce.registry.Registry; import com.ibm.commerce.registry.RegistryManager;     public  cla...