Link to home
Create AccountLog in
Avatar of iceman19330
iceman19330

asked on

Composer: Command not found

As with everything I am not sure that this is where the issue lies.  A while back we had a contractor do a project and then get let go during the project and left a huge mess of uncompleted code, etc.  There is one part where when there is someone registering they encounter a generic error (I attached the stack below).

The gist of the message is "com.ibm.commerce.exception.ECSystemException: Messaging system. The composer encountered the following error: Command not found: "xxxUserRegistrationMessageView".."  there are several errors as seen below where xxxUserRegistrationMessageView is mentioned as not being found and there is good reason since there is no command "xxxUserRegistrationMessageView".  The issue is, and I have searched and search but cannot find any code using "xxxUserRegistrationMessageView"  is there anywhere else I should be looking?
Avatar of ioanton
ioanton

You should look also into the configuration files (i.e. struts-config.xml)
Avatar of iceman19330

ASKER

I checked in the struts-config.xml and even for giggles I checked in all the previous struts-config.xml files.  It seems to be a ghost.
If your application uses a database, it is worth taking a look into it's tables.
okay I will take a look.
any particular tables I should look into?
I have no idea about your database schema :(
typical WebSphere if that helps.
WebSphere Commerce 6
Let's try with the table VIEWREG
no table VIEWREG :(
You can better dump the database and then search in the resulting file.  
I was able to find the cmdreg table however there is no command or interface entry for xxxUserRegistrationMessageView
Here is another stack trace.  I went on to production and looked at all of the struts-config-ext-xxx.xml files (they had bak in the ext) and I found one that had the forward.  both local and test I cannot find this entry in any of the bak strut files.

<forward name="xxxUserRegistrationMessageView/10001" path="/UserArea/AccountSection/RegistrationSubsection/xxxUserRegistrationConfirmation.jsp">
</forward>
[11/17/10 11:08:58:849 EST] 00008297 CommerceSrvr  E com.ibm.commerce.messaging.outboundservice.Messaging compose(String,CommandContext,TypedProperty) CMN8423E: Messaging system. The composer encountered the following error: Command not found: "xxxUserRegistrationMessageView"..
[11/17/10 11:08:58:870 EST] 00008297 CommerceSrvr  E com.ibm.commerce.messaging.commands.SendMsgCmdImpl performExecute CMN0208E: Command "com.ibm.commerce.messaging.commands.SendMsgCmdImpl" failed to process. Error: Messaging system. The composer encountered the following error: Command not found: "xxxUserRegistrationMessageView"..
Correlation Identity: fbc7c930-f264-11df-b77a-86f74cdb0dc1
Additional Data: 
	null
Current exception:
Message:
   _ERR_EXEC_COMPOSE
Stack trace:
com.ibm.commerce.exception.ECSystemException: Messaging system. The composer encountered the following error: Command not found: "xxxUserRegistrationMessageView"..
	at java.lang.Throwable.<init>(Throwable.java:179)
	at java.lang.Exception.<init>(Exception.java:29)
	at com.ibm.websphere.exception.DistributedException.<init>(DistributedException.java:136)
	at com.ibm.websphere.command.CommandException.<init>(CommandException.java:126)
	at com.ibm.commerce.exception.ECException.<init>(ECException.java:262)
	at com.ibm.commerce.exception.ECSystemException.<init>(ECSystemException.java:430)
	at com.ibm.commerce.exception.ECSystemException.<init>(ECSystemException.java:80)
	at com.ibm.commerce.messaging.util.ExceptionThrowingHelper.throwException(ExceptionThrowingHelper.java:125)
	at com.ibm.commerce.messaging.outboundservice.Messaging.compose(Messaging.java:1580)
	at com.ibm.commerce.messaging.commands.SendMsgCmdImpl.performExecute(SendMsgCmdImpl.java:424)
	at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:72)
	at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:329)
	at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:138)
	at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:171)
	at com.xxx.commerce.usermanagement.commands.xxxPostUserRegistrationAddCmdImpl.performExecute(xxxPostUserRegistrationAddCmdImpl.java:86)
	at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:72)
	at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:329)
	at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:138)
	at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:171)
	at com.ibm.commerce.usermanagement.commands.UserRegistrationAddCmdImpl.performExecute(UserRegistrationAddCmdImpl.java:233)
	at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:72)
	at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:329)
	at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:138)
	at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:171)
	at com.ibm.commerce.component.BaseComponentImpl.executeCommand(BaseComponentImpl.java:141)
	at com.ibm.commerce.component.WebAdapterComponentImpl.executeCommand(WebAdapterComponentImpl.java:46)
	at com.ibm.commerce.component.objimpl.WebAdapterServiceBeanBase.executeCommand(WebAdapterServiceBeanBase.java:58)
	at com.ibm.commerce.component.objects.EJSLocalStatelessWebAdapterService_ce749a4a.executeCommand(EJSLocalStatelessWebAdapterService_ce749a4a.java:19)
	at com.ibm.commerce.component.objects.WebAdapterServiceAccessBean.executeCommand(WebAdapterServiceAccessBean.java:160)
	at com.ibm.commerce.webcontroller.WebControllerHelper.executeCommand(WebControllerHelper.java:2404)
	at com.ibm.commerce.struts.BaseAction.invokeService(BaseAction.java:1487)
	at com.ibm.commerce.struts.BaseAction.executeAction(BaseAction.java:602)
	at com.ibm.commerce.struts.BaseAction.execute(BaseAction.java:125)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:217)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1481)
	at com.ibm.commerce.struts.ECActionServlet.processRequest(ECActionServlet.java:208)
	at com.ibm.commerce.struts.ECActionServlet.doPost(ECActionServlet.java:193)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:736)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:851)
	at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:255)
	at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:312)
	at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:58)
	at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:237)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1533)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1512)
	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:101)
	at com.ibm.commerce.campaigns.filter.CampaignsFilter.doFilter(CampaignsFilter.java:140)
	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:134)
	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:101)
	at com.ibm.commerce.dynacache.filter.CacheFilter$2.run(CacheFilter.java:159)
	at com.ibm.commerce.dynacache.filter.CacheFilter.doFilter(CacheFilter.java:135)
	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:134)
	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:101)
	at com.ibm.commerce.webcontroller.RuntimeServletFilter.doFilterAction(RuntimeServletFilter.java:230)
	at com.ibm.commerce.webcontroller.RuntimeServletFilter.access$0(RuntimeServletFilter.java:228)
	at com.ibm.commerce.webcontroller.RuntimeServletFilter$1.run(RuntimeServletFilter.java:191)
	at com.ibm.commerce.webcontroller.RuntimeServletFilter.doFilter(RuntimeServletFilter.java:122)
	at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:134)
	at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:101)
	at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:70)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:437)
	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3055)
	at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:240)
	at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:203)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1761)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:108)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:422)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:319)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:276)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:175)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:105)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:537)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:593)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:946)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1038)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1448)

End of exception traces.

[11/17/10 11:08:58:874 EST] 00008297 CommerceSrvr  A com.xxx.commerce.usermanagement.commands.xxxPostUserRegistrationAddCmdImpl setRequestProperties CMN0208E: Command "com.xxx.commerce.usermanagement.commands.xxxPostUserRegistrationAddCmdImpl" failed to process. Error: {1}
[11/17/10 11:09:13:736 EST] 00008297 CommerceSrvr  A com.ibm.commerce.usermanagement.commands.ProcessRequestProperties performExecute CMN0206E Please check all fields. "URL" is a required field.

Open in new window

Can you find one of the following entries in the struts-config.xml file?

<forward name="{1}UserRegistrationMessageView/10001" path="/UserArea/AccountSection/RegistrationSubsection/{1}UserRegistrationConfirmation.jsp">
</forward>

or

<forward name="{1}MessageView/10001" path="/UserArea/AccountSection/RegistrationSubsection/{1}Confirmation.jsp">
</forward>

I also found an action in the same bak file
<action path="/xxxUserRegistrationMessageView" type="com.ibm.commerce.struts.BaseAction">
      <set-property property="https" value="0:0"/>
</action>

In the struts-config-ext-xxx.xml file there is
<forward name="xxxURegConfirmView/10001" path="/UserArea/AccountSection/RegistrationSubsection/xxxUserRegistrationConfirmation.jsp">
</forward>
<action path="/xxxURegConfirmView" type="com.ibm.commerce.struts.BaseAction">
<set-property property="https" value="0:0"/>
</action>
Is that what you were looking for?
Maybe I should ask this in a different way.  Where else should I be looking for this command that is missing.
I have checked Struts, DB, JSPs, Java and cannot find it to find out why the registration area thinks it should be looking for the command.
ASKER CERTIFIED SOLUTION
Avatar of iceman19330
iceman19330

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
I figured out the solution on my own