Traitement des services du Centre de gestion

Le traitement des services du Centre de gestion implique la transformation de demandes d'URL en services BOD (Business Object Document) de traitement et services BOD de modification.

Il est parfois difficile de déterminer si une URL va être transférée vers un service de traitement ou un service de modification. En général, lorsque l'application Web Management Center utilise des objets principaux (par exemple, un produit), les URL sont transférées vers un service de traitement. Lorsque des objets secondaires sont employés (par exemple, une description de produit), les URL sont généralement transférées vers un service de modification. Par exemple, l'ajout d'un produit entraîne un service de traitement avec le code d'action actionCode d'Add (Add). L'ajout d'une description de produit est un service de modification avec le code d'action actionCode d'Add (Add) et l'expression actionExpression qui désigne la description.

Une expression actionExpression est un élément qui représente une instruction de traitement relative à la demande. L'attribut actionCode indique l'opération. actionCode est un paramètre d'URL qui indique le type d'action à effectuer sur Noun ou une partie de Noun. Add, Change et Delete, par exemple, sont des codes d'action valides.

Si vous devez définir une définition de bean Spring personnalisée, incluez-la dans le fichier de configuration Spring-extension.xml pour l'enregistrer dans la structure Spring. Pour plus d'informations, voir HCL Commerce Spring framework.

Le code suivant montre un exemple de définition de bean Spring pour un service BOD de modification (Change) et un service BOD de traitement (Process).
  • Service BOD de modification (Change)
    
    <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>
  • Service BOD de traitement (Process)
    	
    <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 classe com.ibm.commerce.foundation.client.facade.bod.servlet.spring.BusinessObjectDocumentController est utilisée pour transférer des objets entre des noms Management Center et HCL Commerce. Si vous devez transférer des objets, incluez cette classe dans votre définition. Après avoir enregistré la définition de bean Spring, vous devez configurer le mappage entre les paramètres d'URL et les noms BOD.