Limiter le travail des développeurs, en faisant en sorte que le moteur de EFR puisse s’occuper d’extraire les clefs métier des traces, sans que le développeur n’ait à les expliciter.
Par défaut, les clés métiers sont communiquées dans la trace envoyée epar API. cf. Publier des traces de transport
Toutefois, il est possible de déléguer l’extraction à EFR. Ainsi, toutes les traces d’une même médiation seront lues et interprétées. Le body ou les headers du message peuvent être la source de ces clés métier.
Si l’analyse est conforme, la valeur extraite sera ajoutée aux clées métiers de la trace.
Dans la vue d’une médiation, utiliser la vue tabulaire pour se rendre sur “Clefs métier”.
En cliquant sur une bouton “Ajouter une clef métier”, le dialogue suivant apparaîtra :
Le nom est le nom de la clef métier qui sera créée. Elle doit être unique au sein de la médiation.
La source désigne l’origine de la valeur métier à extraire. Il s’agit soit du body, soit des headers.
La technologie désigne quel sera le moyen d’extraire la donnée de la source.
Le jsonpath permet de sortir des données JSON avec le langage JSONPATH.
Le xpath traite du XML avec le langage XMLPATH.
Le csv_with_header extrait un contenu CSV en utilisant le header pour les noms de colonnes,
Le csv_without_header extrait un contenu CSV en utilisant l’alphabet pur les noms de colonnes.
le mode none conserve l’intégralité de la valeur fournie.
Le chemin va paramétrer la technologie afin d’extraire la valeur dans la source.
Dans le cas où la source est le body, et dans le cas de la technologie jsonpath ou du xpath, la valeur attendue sera de la forme $.foo ou //foo. Si la technologie est “none”, le chemin sera sans effet.
Dans le cas où la source est les headers, alors le chemin est le nom du header à lire. La technologie sera ignorée.
Il n’existe pas de formalisme pour le CSV. Celui-ci est donc transformé en JSON pour être interprété.
Les noms des champs utilisés sont pour:
csv_with_header: la 1ere ligne du CSV contient les noms des colonnes ;
csv_without_header: utilise l’alphabet pour déclarer des noms de colonnes. Comme sur Excel, les colonnes commencent à A, vont jusqu'à Z. La limite est de 27 colonnes.
Principe de transformation:
Un fichier CSV contient N lignes. Un tableau est la base à manipuler.
Chaque colonne est un él ément à plat.
La liste des séparateurs est: “;” , “,” et “|”.
Exemple csv_with_header:
Version CSV
colonne1;colonne2;colonne3
A;B;Facture-110
A;B;Facture-abc
A;B;Facture-xyzVersion transformée en JSON
[
{ colonne1:A, colonne2:B ,colonne3:Facture-110 },
{ colonne1:A, colonne2:B ,colonne3:Facture-abc },
{ colonne1:A, colonne2:B ,colonne3:Facture-xyz }
}Exemple csv_without_header:
Version CSV
001;abc;Facture-110
002;abc;Facture-abc
003;def;Facture-xyzVersion transformée en JSON
[
{ A:001, B:abc ,C:Facture-110 },
{ A:002, B:abc ,C:Facture-abc },
{ A:003, B:def ,C:Facture-xyz }
}Technologie | Message | Configuration | Résultat |
|---|---|---|---|
XML | <content>
<a>A</a>
<b>B</b>
<bp>Facture-110</bp>
</content> |
|
|
JSON | {
"a": "A",
"b": "B",
"bp": "Facture-110"
} |
|
|
CSV_WITH_HEADER | colonne1;colonne2;colonne3
A;B;Facture-110
A;B;Facture-abc
A;B;Facture-xyz |
|
|
CSV_WITHOUT_HEADER | A; B; Facture-110;
A; B; Facture-abc;
A; B; Facture-xyz; |
|
|
NONE |
|
|
|
Date | Commentaires |
|---|---|
2025-04-01 | Création de la page. |
Sep 1, 2025 | Ajout de la prise en compte du format CSV et du séparateur “|” . |
Ce contenu est soumis au droit à Copyright. Il ne doit pas être utilisé sans accord de la société Middleware Editions.