Troubleshoot: Developing using service-oriented architecture (SOA)
You might experience the following problems when you develop applications using SOA.
Error CMN0203E when working with Struts configuration files
You might encounter an error similar to the following when working with Struts configuration files:
000000e5 WC_SERVER 3 -673d4df:1235cd8ecc0:-7fff com.ibm.commerce.struts.BaseAction.executeView actionName=JspView 000000e5 WC_SERVER 3 -673d4df:1235cd8ecc0:-7fff com.ibm.commerce.struts.BaseAction.executeView unknown view from path info
The name of the command specified cannot be resolved to an implementation. The WebSphere Commerce server attempted to resolve a URL request to a command implementation or the command interface specified cannot be resolved to an implementation.
To resolve this issue, follow these general guidelines:
- Verify the specified command has been defined in the appropriate configuration files.
- If the command is a view command, ensure the Struts configuration for this view is defined as a forward configuration with the correct view name, store ID and device ID.
- If the command is a controller command or URL request, ensure the Struts configuration files contain an action configuration between the URL and the command interface name that represents that URL.
- If the command cannot be resolved based on the command interface name, update the CMDREG table to contain a mapping between the interface name and the command implementation.
- If the changes were made to the configuration files while the server is running, the registries may need to be refreshed. Refreshing the registries can be done using the WebSphere Commerce Administration Console by navigating to Configuration > Registry and updating either the Struts or command registry.
- If the command is a view name defined in the <global-forwards> section of the configuration file, ensure a corresponding action with the same path name and of type com.ibm.commerce.struts.BaseAction is defined in the configuration file.
Error CNTR0020E when attempting to run service
You might encounter an error similar to the following when attempting to run the service:
000000a5 RemoteExcepti E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "your_method" on bean "BeanId(WC#your_server.jar#your_service_impl, null)". Exception data: java.lang.RuntimeException: org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Package with uri 'http://services.your_hostname.com/your_directory' not found. (, 1, 255) at com.your_hostname.commerce.your_component.facade.server.your_service_impl.your_method(your_service_impl.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at com.ibm.ws.webservices.engine.dispatchers.java.JavaDispatcher.invokeMethod(JavaDispatcher.java:178) at com.ibm.ws.webservices.dispatchers.ejb.J2ee14EJBDispatcher.invokeMethod(J2ee14EJBDispatcher.java:269) at com.ibm.ws.webservices.engine.dispatchers.java.JavaDispatcher.invokeOperation(JavaDispatcher.java:141)To resolve this issue, ensure that you have deployed the xml/config/your_component to your server.
Invalid column definition when running generated unit tests
You might encounter an error similar to the following when attempting to run the generated unit tests:
Invalid column definition: column "your_column" does not exist in table "your_table".This error can occur when the Java Emitter Template (JET) pattern makes assumptions about the physical schema. It assumes certain table and column names and builds a query, and returns an error when the table and column names do not match.
To resolve this issue, update the query template files to match the specific physical schema.