Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1869
  • Last Modified:

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?
0
iceman19330
Asked:
iceman19330
  • 13
  • 6
1 Solution
 
ioantonCommented:
You should look also into the configuration files (i.e. struts-config.xml)
0
 
iceman19330Author Commented:
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.
0
 
ioantonCommented:
If your application uses a database, it is worth taking a look into it's tables.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
iceman19330Author Commented:
okay I will take a look.
0
 
iceman19330Author Commented:
any particular tables I should look into?
0
 
ioantonCommented:
I have no idea about your database schema :(
0
 
iceman19330Author Commented:
typical WebSphere if that helps.
0
 
iceman19330Author Commented:
WebSphere Commerce 6
0
 
ioantonCommented:
Let's try with the table VIEWREG
0
 
iceman19330Author Commented:
no table VIEWREG :(
0
 
ioantonCommented:
You can better dump the database and then search in the resulting file.  
0
 
iceman19330Author Commented:
I was able to find the cmdreg table however there is no command or interface entry for xxxUserRegistrationMessageView
0
 
iceman19330Author Commented:
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

0
 
ioantonCommented:
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>

0
 
iceman19330Author Commented:
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>
0
 
iceman19330Author Commented:
Is that what you were looking for?
0
 
iceman19330Author Commented:
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.
0
 
iceman19330Author Commented:
The issue was that there was both a view and a command entry missing from the db as well as misspelled struts entry.
0
 
iceman19330Author Commented:
I figured out the solution on my own
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 13
  • 6
Tackle projects and never again get stuck behind a technical roadblock.
Join Now