Affectation du code d'extension aux points d'extension
Une fois que vous avez développé le code d'extension xC, vous devez enregistrer votre code d'extension dans la base de données HCL Commerce et affecter le code d'extension aux points d'extension.
Pourquoi et quand exécuter cette tâche
- Chargez les données sur la table UEConfig pour enregistrer votre code d'extension et associez le chemin d'accès de votre méthode personnalisée à une UEConfigId unique.
- Chargez les données vers la table CmdReg pour affecter l'UEConfigId (qui mappe à votre code d'extension) à un point d'extension (commande).
Le point d'extension est enregistré pour le magasin identifié dans la colonne storeent_id. Si vous souhaitez enregistrer un point d'extension pour plusieurs magasins, vous devez inclure les données d'enregistrement de l'extension pour chaque magasin sur une ligne distincte du fichier.

Utilisation de SQL
Procédure
- Connectez-vous à la base de données.
-
Chargez les données dans la table de base de données UEConfig. Modifiez l'exemple SQL suivant avec vos valeurs.
Ce SQL enregistre votre code d'extension en associant le chemin d'accès de votre méthode personnalisée à un UEConfigId unique.
INSERT INTO UECONFIG(UECONFIG_ID,URL,HTTPMETHOD,DESCRIPTION,TIMEOUT,RETRIABLE) VALUES (<UEConfigId>,'<Url>','<HttpMethod>','<Description>',<TIMEOUT>,<RETRIABLE>);- UEConfigId
- (Entier) Obligatoire : ID unique du code d'extension xC. Vous utilisez l'UEConfigId lorsque vous affectez le code d'extension à un point d'extension du fichier CmdReg.csv.
- Url
- (Chaîne) Obligatoire : URL relative de la méthode de ressource d'extension xC à partir de la racine de contexte. Vous affectez cette URL à l'UEConfigId que vous avez spécifié ci-dessus. Par exemple, dans l'URL,
https://hostname:9443/commerceue/extension/order/validate_quantity, entrez/extension/order/validate_quantitycomme valeur URL.- commerceue
- Racine de contexte du serveur de personnalisation.
- extension
- URL de base de l'application JAX-RS.
- order
- Chemin d'accès de la classe de ressources.
- validate_quantity
- Point d'extension.
Nombre maximal de caractères : 512.
- HttpMethod
- (Chaîne) Méthode de requête HTTP pour l'extension. Définissez toujours la valeur sur
POST. - Description
- Description de l'extension.
Nombre maximal de caractères : 254.
- Propriétés
- (Chaîne) Liste de propriétés séparées par des esperluettes (&) sous forme de paires de valeur de nom codée par URL. Les propriétés prises en charge incluent les éléments suivants :
- useBridgeClient : Définissez cette propriété sur true si le code d'extension effectue des appels vers les API REST du serveur de transactions (
useBridgeClient=true) - Content-Type : Définissez cette propriété sur application/json ou text/plain. La propriété est utilisée par le serveur Personnalisation pour localiser la méthode de ressource correspondante.
Nombre maximal de caractères : 512.
- useBridgeClient : Définissez cette propriété sur true si le code d'extension effectue des appels vers les API REST du serveur de transactions (
- FilterId
- (Entier) FiltreId d'un filtre à utiliser. Le FilterId peut être null pour indiquer que le filtrage n'est pas nécessaire. Le FilterId est chargé avec un fichier Filter.csv.
- Nouvel essai impossible.
- Indique si la demande de prolongation est relancée lorsque la demande échoue. Valeurs valides :
- 0
- False
- 1
- True
- Délai d'expiration
- (Entier) Durée d'attente (en millisecondes) pour une demande avant qu'elle ne soit considérée comme échouée. Si la valeur est null, une valeur par défaut est utilisée.
Delete- (Chaîne) Indique si l'enregistrement doit être supprimé. Spécifiez
1pour supprimer l'enregistrement.
Par exemple,INSERT INTO UECONFIG(UECONFIG_ID,URL,HTTPMETHOD,DESCRIPTION,REQUESTHANDLER,RESPONSEHANDLER,TIMEOUT,RETRIABLE) VALUES (120570201,'extension/tax/tax_integration_custom','POST','Tax Integration','com.ibm.commerce.order.ue.TaxIntegrationCustomCmdRequestHandler','com.ibm.commerce.order.ue.TaxIntegrationCustomCmdResponseHandler',60000,1); -
Chargez les données dans la table de base de données CmdReg. Modifiez l'exemple SQL suivant avec vos valeurs.
Ce SQL attribue l'UEConfigId (qui mappe à votre code d'extension) à un point d'extension (commande).
INSERT INTO CMDREG(storeent_id, interfacename, description, classname, properties, target) VALUES (Storeent_id, '<InterfaceName>', '<Description>', '<ClassName>', '<Properties>', '<target>');- StoreIdentifier
- (Chaîne) Obligatoire : Identificateur unique du magasin où vous enregistrez le point d'extension.Remarque :
- Si vous souhaitez enregistrer la commande d'un magasin particulier, spécifiez l'identificateur unique du magasin.
- Si vous souhaitez enregistrer la commande pour tous les magasins, spécifiez NullEntity.
- Description
- (Chaîne) Description de la commande.
Nombre maximal de caractères : 254.
- InterfaceName
- (Chaîne) Obligatoire : Point d'extension de l'interface de commande que votre code d'extension étend.
Nombre maximal de caractères : 254.
- ClassName
- (Chaîne) Classe d'implémentation de votre extension xC personnalisée à partir de la racine de contexte.
Nombre maximal de caractères : 254.
- Propriétés
- (Chaîne) Propriétés par défaut associées à cette commande. Les propriétés sont dans le formulaire "
property1=value1&property2=value2", où la propriété est le nom de la propriété, et la valeur est la valeur correspondant à la propriété.Propriétés de validation :- preExecute
- (Booléen) Indique si le code d'extension s'exécute avant la commande. La valeur true indique que le code d'extension doit s'exécuter avant la commande.
- replaceExecute
- (Booléen) Indique si le code d'extension s'exécute à la place de la commande. La valeur true indique que le code d'extension doit s'exécuter au lieu de la commande.
- postExecute
- (Booléen) Indique si le code d'extension s'exécute après la commande. La valeur true indique que le code d'extension doit s'exécuter après la commande.
- preUEConfigId, replaceUEConfigId ou postUEConfigId
- Lorsque les paramètres preExecute, replaceExecute ou postExecute sont spécifiés, l'UEConfigId correspondant doit également être donné. L'UEConfigId est chargé avec un fichier UEConfig.csv. Pour plus d'informations, voir Définitions de fichiers d'entrée d'objet UEConfig.
- restTarget
- Indique si l'extension appelle le service REST distant. Spécifiez la valeur true (
restTarget=true).
Nombre maximal de caractères : 254.
Delete- (Chaîne) Indique si l'enregistrement doit être supprimé. Spécifiez
1pour supprimer l'enregistrement.
Par exemple,INSERT INTO CMDREG(storeent_id, interfacename, description, classname, properties, target) VALUES (0, 'com.ibm.commerce.isv.kit.tax.TaxIntegrationCustomCmd', 'Tax Integration Custom command default implementation', 'com.ibm.commerce.isv.kit.tax.TaxIntegrationCustomCmdImpl', 'replaceUEConfigId=120570201&replaceExecute=true&restTarget=true&retriable=1', 'Local'); -
Vérifiez les données chargées.
SELECT * FROM UECONFIG SELECT * FROM CMDREG
Utilisation de l'utilitaire de chargement de données
Procédure
-
Téléchargez le fichier suivant et décompressez-le dans le répertoire WCDE_installdir/samples/DataLoad/.
Vérifiez que vous avez maintenant un répertoire WCDE_installdir/samples/DataLoad/xC.
-
Créez un fichier UEConfig_sample.csv dans le répertoire WCDE_installdir/samples/DataLoad/xC.
Remarque : Vous pouvez modifier le nom de fichier pour qu'il soit un nom unique.
-
Ajoutez le contenu suivant à votre fichier CSV :
UEConfig,,,,,,, UECONFIG_ID,URL,HTTPMETHOD,DESCRIPTION,TIMEOUT,RETRIABLE -
Dans la troisième ligne, ajoutez vos valeurs.
- UEConfigId
- (Entier) Obligatoire : ID unique du code d'extension xC. Vous utilisez l'UEConfigId lorsque vous affectez le code d'extension à un point d'extension du fichier CmdReg.csv.
- Url
- (Chaîne) Obligatoire : URL relative de la méthode de ressource d'extension xC à partir de la racine de contexte. Vous affectez cette URL à l'UEConfigId que vous avez spécifié ci-dessus. Par exemple, dans l'URL,
https://hostname:9443/commerceue/extension/order/validate_quantity, entrez/extension/order/validate_quantitycomme valeur URL.- commerceue
- Racine de contexte du serveur de personnalisation.
- extension
- URL de base de l'application JAX-RS.
- order
- Chemin d'accès de la classe de ressources.
- validate_quantity
- Point d'extension.
Nombre maximal de caractères : 512.
- HttpMethod
- (Chaîne) Méthode de requête HTTP pour l'extension. Définissez toujours la valeur sur
POST. - Description
- Description de l'extension.
Nombre maximal de caractères : 254.
- Propriétés
- (Chaîne) Liste de propriétés séparées par des esperluettes (&) sous forme de paires de valeur de nom codée par URL. Les propriétés prises en charge incluent les éléments suivants :
- useBridgeClient : Définissez cette propriété sur true si le code d'extension effectue des appels vers les API REST du serveur de transactions (
useBridgeClient=true) - Content-Type : Définissez cette propriété sur application/json ou text/plain. La propriété est utilisée par le serveur Personnalisation pour localiser la méthode de ressource correspondante.
Nombre maximal de caractères : 512.
- useBridgeClient : Définissez cette propriété sur true si le code d'extension effectue des appels vers les API REST du serveur de transactions (
- FilterId
- (Entier) FiltreId d'un filtre à utiliser. Le FilterId peut être null pour indiquer que le filtrage n'est pas nécessaire. Le FilterId est chargé avec un fichier Filter.csv.
- Nouvel essai impossible.
- Indique si la demande de prolongation est relancée lorsque la demande échoue. Valeurs valides :
- 0
- False
- 1
- True
- Délai d'expiration
- (Entier) Durée d'attente (en millisecondes) pour une demande avant qu'elle ne soit considérée comme échouée. Si la valeur est null, une valeur par défaut est utilisée.
Delete- (Chaîne) Indique si l'enregistrement doit être supprimé. Spécifiez
1pour supprimer l'enregistrement.
-
Créez un fichier CmdReg_sample.csv dans le répertoire WCDE_installdir/samples/DataLoad/xC.
Remarque : Vous pouvez modifier le nom de fichier pour qu'il soit un nom unique.
-
Ajoutez le contenu suivant à votre fichier CSV :
CmdReg, storeent_id, interfacename, description, classname, properties, target -
Dans la troisième ligne, ajoutez vos valeurs.
- StoreIdentifier
- (Chaîne) Obligatoire : Identificateur unique du magasin où vous enregistrez le point d'extension.Remarque :
- Si vous souhaitez enregistrer la commande d'un magasin particulier, spécifiez l'identificateur unique du magasin.
- Si vous souhaitez enregistrer la commande pour tous les magasins, spécifiez NullEntity.
- Description
- (Chaîne) Description de la commande.
Nombre maximal de caractères : 254.
- InterfaceName
- (Chaîne) Obligatoire : Point d'extension de l'interface de commande que votre code d'extension étend.
Nombre maximal de caractères : 254.
- ClassName
- (Chaîne) Classe d'implémentation de votre extension xC personnalisée à partir de la racine de contexte.
Nombre maximal de caractères : 254.
- Propriétés
- (Chaîne) Propriétés par défaut associées à cette commande. Les propriétés sont dans le formulaire "
property1=value1&property2=value2", où la propriété est le nom de la propriété, et la valeur est la valeur correspondant à la propriété.Propriétés de validation :- preExecute
- (Booléen) Indique si le code d'extension s'exécute avant la commande. La valeur true indique que le code d'extension doit s'exécuter avant la commande.
- replaceExecute
- (Booléen) Indique si le code d'extension s'exécute à la place de la commande. La valeur true indique que le code d'extension doit s'exécuter au lieu de la commande.
- postExecute
- (Booléen) Indique si le code d'extension s'exécute après la commande. La valeur true indique que le code d'extension doit s'exécuter après la commande.
- preUEConfigId, replaceUEConfigId ou postUEConfigId
- Lorsque les paramètres preExecute, replaceExecute ou postExecute sont spécifiés, l'UEConfigId correspondant doit également être donné. L'UEConfigId est chargé avec un fichier UEConfig.csv. Pour plus d'informations, voir Définitions de fichiers d'entrée d'objet UEConfig.
- restTarget
- Indique si l'extension appelle le service REST distant. Spécifiez la valeur true (
restTarget=true).
Nombre maximal de caractères : 254.
Delete- (Chaîne) Indique si l'enregistrement doit être supprimé. Spécifiez
1pour supprimer l'enregistrement.
-
Modifiez WCDE_installdir/samples/DataLoad/xC/wc-dataload-cmdreg.xml pour utiliser votre nom de fichier d'entrée CmdReg.
Par exemple,
<_config:LoadOrder commitCount="100" batchSize="1" dataLoadMode="Replace" > <_config:LoadItem name="CMDREG" businessObjectConfigFile="wc-loader-cmdreg.xml" startKey="100000001" endKey="200000000"> <_config:DataSourceLocation location="<your_CmdReg_input.csv>" /> </_config:LoadItem> </_config:LoadOrder> -
Modifiez WCDE_installdir/samples/DataLoad/xC/wc-dataload-ueconfig.xml pour utiliser votre nom de fichier d'entrée UEConfig.
Par exemple,
<_config:LoadOrder commitCount="100" batchSize="1" dataLoadMode="Replace" > <_config:LoadItem name="UEConfig" businessObjectConfigFile="wc-loader-ueconfig.xml" startKey="100000001" endKey="200000000"> <_config:DataSourceLocation location="your_UEconfig_input.csv" /> </_config:LoadItem> </_config:LoadOrder> - Modifiez WCDE_installdir/samples/DataLoad/xC/wc-dataload-env.xml en fonction des informations de votre base de données.
- Ouvrez un utilitaire de ligne de commande et accédez à WCDE_installdir/bin :
-
Chargez les données dans la base de données en exécutant la commande suivante.
dataload.bat WCDE_installdir/samples/DataLoad/xC/wc-dataload-cmdreg.xmldataload.bat WCDE_installdir/samples/DataLoad/xC/wc-dataload-ueconfig.xml