Resolución de problemas: Error de Transaction server después de la migración de Struts 2

Después de migrar la tienda local a Struts 2, es posible que vea un error en el registro de Transaction server similar a StrutsViewExecUnit StrutsViewExecUnit CMN0203E: Command not found. Puede resolver este error utilizando una de las acciones predeterminadas de Struts.

Problema

La tienda puede tener problemas con algunas vistas de Struts después de actualizar a Struts 2. Por ejemplo, la duplicación de una lista de solicitudes en la tienda de B2B no funciona correctamente y puede ver la entrada CommerceSrvr A StrutsViewExecUnit StrutsViewExecUnit CMN0203E: Command not found: "RequisitionListsView" en el registro de Transaction server.

Solución

En Struts 2, el parámetro de acción de un paquete hijo no hereda la acción en su paquete padre. Para arreglar este problema, copie la acción de los archivos de configuración predeterminada de Struts en struts-wcs-store-custom.xml y fusione los parámetros en la definición de acción. El siguiente ejemplo utiliza RequisitionListsView.
  1. Busque la cadena RequisitionListsView en el directorio del servidor de transacciones Stores.war. Alterará temporalmente el RequisitionListsView en struts-wcs-stores-custom.xml.
    En este ejemplo, se ha encontrado que el parámetro es parecido al siguiente en struts-wcs-stores-custom.xml:
     <action class="com.ibm.commerce.struts.v2.BaseAction" name="RequisitionListsView"> <param name="https">0:1</param> </action> 
    En struts-wcs-stores-widgets.xml, sin embargo, tiene el siguiente aspecto:
     <action class="com.ibm.commerce.struts.v2.BaseAction" name="RequisitionListsView"> <param name="credentialsAccepted">0:P</param> <result name="RequisitionListsView"> <param name="location">/Widgets_701/com.ibm.commerce.store.widgets.RequisitionLists/RequisitionListsAjax.jsp</param> <param name="properties">storeDir=no</param> </result> </action>
  2. Copie la acción de struts-wcs-stores-widgets.xml a struts-wcs-stores-custom.xml, que ahora contiene:
     <action class="com.ibm.commerce.struts.v2.BaseAction" name="RequisitionListsView"> <param name="https">0:1</param> <param name="credentialsAccepted">0:P</param> <result name="RequisitionListsView"> <param name="location">/Widgets_701/com.ibm.commerce.store.widgets.RequisitionLists/RequisitionListsAjax.jsp</param> <param name="properties">storeDir=no</param> </result> </action> 
  3. Despliegue el Proyecto de tienda y reinicie el Transaction server.
Note: Si encuentra problemas similares con otras vistas de acción de Struts, compruebe y fusione sus parámetros manualmente.