Proceso de los servicios del Centro de gestión

Procesar los servicios del Centro de gestión implica transformar solicitudes de URL en BOD de proceso y BOD de cambio.

A veces es difícil determinar si un URL se transferirá a un servicio de proceso o a un servicio de cambio. En general, cuando la aplicación web del Management Center trabaja con objetos primarios, como un producto, los URL se transfieren a un servicio de proceso. En los objetos secundarios, tales como una descripción de producto, los URL se transfieren generalmente a un servicio de cambio. Por ejemplo, al añadir un producto, se transfiere un producto a un servicio de proceso con un actionCode de Add. Añadir una descripción de producto es un servicio de cambio con un actionCode de Add y un actionExpression que apunta a la descripción.

Un actionExpression es un elemento que representa una instrucción de proceso que pertenece a la petición. El atributo actionCode indica la operación. Un actionCode es un parámetro URL que indica el tipo de acción a realizar en el nombre o parte de nombre. Los códigos de acción válidos son Add, Change, Delete, etc.

Si necesita definir una definición de bean Spring personalizada, incluya la definición en el archivo de configuración Spring-extension.xml para registrar la definición dentro de Spring Framework. Para obtener más información, consulte HCL Commerce Spring Framework.

En el código de ejemplo siguiente se muestra un ejemplo de una definición de bean Spring para un BOD de cambio y un BOD de proceso.
  • BOD de cambio
    
    <bean id="/CreateCatalogEntryDescription" class="com.ibm.commerce.foundation.client.facade.bod.servlet.spring.BusinessObjectDocumentController">
      <property name="urlObject" value="CatalogEntryDescription"/>
      <property name="contextParameters">
        <props>
          <prop key="storeId">storeId</prop>
          <prop key="langId">langId</prop>
          <prop key="masterCatalogId">catalogId</prop>
        </props>
      </property>
      <property name="verb" value="Change"/>
      <property name="documentRootFactory" value="com.ibm.commerce.catalog.facade.datatypes.CatalogFactory"/>
      <property name="clientLibrary" value="com.ibm.commerce.catalog.facade.client.CatalogFacadeClient"/>
      <property name="clientLibraryMethod" value="changeCatalogEntry"/>
      <property name="actionCode" value="Change"/>
    </bean>
  • BOD de proceso
    	
    <bean id="/CreateCatalogEntry" class="com.ibm.commerce.foundation.client.facade.bod.servlet.spring.BusinessObjectDocumentController">
      <property name="urlObject" value="CatalogEntry"/>
      <property name="contextParameters">
        <props>
          <prop key="storeId">storeId</prop>
          <prop key="langId">langId</prop>
          <prop key="masterCatalogId">catalogId</prop>
        </props>
      </property>
      <property name="verb" value="Process"/>
      <property name="documentRootFactory" value="com.ibm.commerce.catalog.facade.datatypes.CatalogFactory"/>
      <property name="clientLibrary" value="com.ibm.commerce.catalog.facade.client.CatalogFacadeClient"/>
      <property name="clientLibraryMethod" value="processCatalogEntry"/>
      <property name="actionCode" value="Create"/>
      <property name="var" value="catalogEntries"/>
      <property name="successView" value="/jsp/commerce/catalog/restricted/RespondCreateCatalogEntry.jsp"/>
    </bean>

La clase com.ibm.commerce.foundation.client.facade.bod.servlet.spring.BusinessObjectDocumentController se utiliza para transferir objetos entre los nombres Management Center y HCL Commerce. Si tiene que transferir objetos, incluya esta clase en la definición. Después de registar la definición bean de Spring, debe configurar la correlación entre los parámetros de URL y los nombres (Nouns) de BOD.