Technote

(troubleshooting)
'Category "12345" does not exist.javax.ejb.ObjectNotFoundException' when hitting Category Display
Problem(Abstract)
You cannot access the CategoryDisplay page in WebSphere Commerce for any category of a particular store. It gives a Generic Error page. Viewing the source code of the error page shows an exception similar to: Category "12345" does not exist.javax.ejb.ObjectNotFoundException

Symptom In the SystemOut.log you see an exception similar to the following:

[10/25/07 15:15:23:267 CDT] 7b9972e7 CommerceSrvr E com.ibm.commerce.catalog.commands.CategoryDisplayCmdImpl performExecute CMN1029E: Category "12345" does not exist.javax.ejb.ObjectNotFoundException
at com.ibm.commerce.catalog.objects.EJSJDBCPersisterCMPCatalogGroupPageRelationBean 77a7c5c8.findByStoreCategoryMemberLanguageId(EJSJDBCPersisterCMPCatalogGroupPageRelationBean 77a7c5c8.java:429)
at com.ibm.commerce.catalog.objects.EJSCMPCatalogGroupPageRelationHomeBean 77a7c5c8.findByStoreCategoryMemberLanguageId(EJSCMPCatalogGroupPageRelationHomeBean 77a7c5c8.java:51)
at com.ibm.commerce.catalog.objects.EJSRemoteCMPCatalogGroupPageRelationHome 77a7c5c8.findByStoreCategoryMemberLanguageId(EJSRemoteCMPCatalogGroupPageRelationHome 77a7c5c8.java:198)
at com.ibm.commerce.catalog.objects._CatalogGroupPageRelationHome _Stub.findByStoreCategoryMemberLanguageId(_CatalogGroupPageRelationHome_Stub.java:353)
at com.ibm.commerce.catalog.objects.CatalogGroupPageRelationAccessBean. findByStoreCategoryMemberLanguageId(CatalogGroupPageRelationAccessBean.java:100)
at com.ibm.commerce.catalog.objimpl.CatalogGroupBeanBase. getTemplateFileName(CatalogGroupBeanBase.java:823)
at com.ibm.commerce.catalog.objects.EJSRemoteCMPCatalogGroup 8e5bb4d3.getTemplateFileName(EJSRemoteCMPCatalogGroup 8e5bb4d3.java:1601)
at com.ibm.commerce.catalog.objects._CatalogGroup_Stub.getTemplateFileName( _CatalogGroup_Stub.java:1403)
at com.ibm.commerce.catalog.objects.CatalogGroupAccessBean. getTemplateFileName(CatalogGroupAccessBean.java:1069)
at com.ibm.commerce.catalog.commands.CategoryDisplayCmdImpl. performExecute(CategoryDisplayCmdImpl.java:265) Cause The last relevant class and method in the stack is CatalogGroupPageRelationAccessBean.findByStoreCategoryMemberLanguageId().
This access bean corresponds to the DISPCGPREL database table. This table holds the page names used to display CatalogGroups.

If there is no entry in the DISPCGPREL table that matches the given criteria when trying to display the page, the above exception will result. Resolving the problem At least one entry needs to be in the DISPCGPREL for any given CATGROUP_ID and STORE_ID combination. While you can specify a different JSP to be used for each category, a single entry with CATGROUP_ID = 0 could also be used to say that all categories for a given store will use the same JSP.

For a particular store, either add an entry for each category (CATGROUP) in the catalog, or define a default entry for all categories with CATGROUP_ID = 0.
Cross Reference information
Segment Product Component Platform Version Edition
Commerce WebSphere Commerce Enterprise Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
Commerce WebSphere Commerce Business Edition Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
Commerce WebSphere Commerce Professional Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
Commerce WebSphere Commerce - Express Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
Commerce WebSphere Commerce Developer Enterprise Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
Commerce WebSphere Commerce Developer Business Edition Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
Commerce WebSphere Commerce Developer Professional Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
Commerce WebSphere Commerce Developer Express Configuration AIX, Linux, Solaris, Windows 5.6, 5.6.1, 6.0
   

Document Information

Current web document: http://www.ibm.com/support/docview.wss?uid=swg21285761