Le fichier de mappage de charges utiles est un document XML qui décrit la mise en correspondance des charges utiles entrantes avec leur copybook correspondant. Le fichier de mappages de charges utiles est également appelé payload copybook mapping (mappage de copybook de charge utile) et payload to copybook file definition map (mappage de charges utiles vers les définitions de fichier de copybook). Ce fichier fournit également des conseils sur la structure du XML obtenu à des fins de clarification pour l'utilisateur.
Exemple
Un exemple de fichier de mappage est disponible ici. Ce fichier contient des exemples de différentes configurations et de commentaires, décrivant chacun des attributs sur chaque noeud. Cet exemple de fichier est fourni à titre de référence pour la création de vos fichiers de mappage de copybook.
Structure
L'exemple suivant illustre la structure du fichier de mappage de charges utiles de base. Par souci de simplicité, cet exemple ne contient aucun attribut de valeurs.
<payloads>
<payload>
<key></key>
<section>
<copybook></copybook>
...
</section>
...
</payload>
<payload>
...
</payload>
</payloads>
Noeud XML racine du document. Vous ne pouvez pas répéter ce noeud.
L'ensemble de cet élément décrit de manière complète une charge utile correspondante. Lorsqu'une charge utile est déterminée comme correspondant à un élément <payload> dans ce document, l'élément <payload> est utilisé pour décrire la charge utile entrante.
(Facultatif) Cette option rend le document XML plus lisible. Tous les détails que vous spécifiez dans cet élément peuvent également être spécifiés comme attributs dans l'élément <payload>.
Groupement logique de copybooks qui définit une partie de la charge utile. S'il existe plusieurs éléments <section>, ils seront traités dans l'ordre sans répétition.
Copybook unique qui décrit ou non un enregistrement dans la charge utile. Un élément <section> peut contenir plusieurs éléments <copybook>.
Un élément <payload> peut contenir les attributs suivants :
<payload name="TEST" type="request" matchType="all" key="reqKey" value="reqVal" keyStart="3" keyEnd="6" headerBytes="0" footerBytes="0" saveHeaderFooter="false" definesResponse="false">
...
</payload>
|
Attribute (Attribut) |
Requis/facultatif |
Description |
|
name |
Obligatoire |
Définit un nom unique permettant d'identifier le type de demande décrite ici. Name doit être unique parmi l'ensemble des charges utiles du même type (à savoir, demande ou réponse). |
|
type |
Obligatoire |
Spécifie le type de charge utile. Valeur - il s'agira de l'une des options suivantes :
|
|
matchType |
Facultatif |
L'attribut matchType s'applique différemment aux définitions de charge utile de type réponse. Par exemple, les réponses ne contiennent pas d'arguments ni de noms d'opération. Si une définition de charge utile de type réponse définit cet attribut sur argument, attribute ou operation, elle ne correspondra jamais à aucun élément (sauf si la demande correspondant définit definesResponse sur true, qui remplace cet attribut). Si une définition de charge utile de type réponse définit cet attribut sur all (tout), les phases argument, attribute et operation de correspondance seront ignorées. Valeur - il s'agira de l'une des options suivantes :
Valeur par défaut : payload (charge utile) |
|
clé |
Obligatoire |
Le comportement de cet attribut change selon le matchType (Type de correspondance) :
|
|
valeur |
Optional/Required |
matchType définit le comportement de cet attribut et indique s'il est requis ou non :
|
|
keyStart |
Facultatif |
Désigne la position de démarrage de la recherche de la clé dans la charge utile (index démarrant à partir de 1). La recherche inclut cette valeur.
|
|
keyEnd |
Facultatif |
Désigne la position de fin de la recherche de la clé dans la charge utile (index démarrant à partir de 1). La recherche exclut cette valeur.
|
|
headerBytes |
Facultatif |
Désigne le nombre d'octets à supprimer à partir du début de la charge utile. Par défaut, cette valeur est définie sur 0, si vous ne fournissez aucune valeur. Si l'attribut est présent, sa valeur doit être un nombre entier valide. |
|
footerBytes |
Facultatif |
Désigne le nombre d'octets à supprimer à partir de la fin de la charge utile. Par défaut, cette valeur est définie sur 0, si vous ne fournissez aucune valeur. Si l'attribut est présent, sa valeur doit être un nombre entier valide. |
|
saveHeaderFooter |
Facultatif |
Spécifie si les octets de l'en-tête et du pied de page supprimés seront conservés dans la version XML de la demande sous forme de chaînes hexadécimales sous les balises rawHeader et rawFooter. Valeurs :
Valeur par défaut : false |
|
definesResponse |
Facultatif |
Si cet attribut est défini sur true, la réponse pour cette demande recherchera un élément de charge utile avec un nom identique, mais de type response. Cet attribut sera ignoré si le type est response. Valeur par défaut : false |
Vous pouvez utiliser l'élément <key> facultatif pour remplacer les attributs liés aux clés. Pour améliorer la lisibilité, l'exemple de l'élément <payload> précédemment décrit peut également être écrit de la manière suivante :
<payload name="TEST" type="request" headerBytes="0" footerBytes="0" saveHeaderFooter="false" definesResponse="false">
<key matchType="all" value="reqVal" keyStart="3" keyEnd="6">reqKey</key>
...
</payload>
Exemple : Voici un exemple d'élément de section, avec tous les attributs qu'il contient ainsi que leur description.
...
<section name="Body">
...
</section>
...
|
Attribute (Attribut) |
Obligatoire |
Description |
|
name |
Obligatoire |
Définit le nom d'un élément XML de groupement dans la version de sortie XML de la charge utile. Un ou plusieurs éléments de copybook convertis figureront dessous. |
Exemple : Voici un exemple d'élément de copybook, avec tous les attributs qu'il contient ainsi que leur description.
... <copybook key="cpk" order="1" max="1" name="TESTRECORD" length-field="SOME-ID">TESTIN.CPY.TXT</copybook> ...
|
Attribute (Attribut) |
Obligatoire |
Description |
|
clé |
Obligatoire |
Définit la chaîne unique dans l'enregistrement qui identifie le copybook. Techniquement, cet attribut est facultatif. Toutefois, si une clé n'est pas fournie, cela signifie que ce copybook sera le seul attribut qui pourra être appliqué à la charge utile. Il sera appliqué en continue jusqu'à ce que la charge utile ne contienne plus d'octets. Si plusieurs éléments de copybook ne disposent d'aucune clé, le premier sera toujours utilisé, sauf si l'attribut max est spécifié. |
|
order |
Facultatif |
Définit un indice sur l'ordre de recherche des enregistrements dans la charge utile. Les numéros utilisés sont inappropriés, mais d'autres enregistrements ultérieurs dans la charge utile utiliseront un nombre entier supérieur. Vous pouvez baliser plusieurs copybooks avec le même numéro d'ordre, pour indiquer que ces enregistrements peuvent être présentés dans un ordre quelconque. Lorsqu'un enregistrement est détecté avec un numéro d'ordre donné, les recherches ultérieures concerneront uniquement des copybooks portant ce numéro d'ordre et un numéro supérieur. Il est possible d'inclure des copybooks dans un groupe qui ne correspondra jamais à la charge utile. Ils seront simplement ignorés. Toutefois, cela affecte les performances, car chaque copybook doit être vérifié. Valeur par défaut : 0 |
|
max |
Facultatif |
Définit le nombre d'applications d'un copybook à la charge utile. Les valeurs vides, les nombres négatifs, les valeurs autres qu'un nombre ou inexistantes et 0 seront considérés comme aucune limite. |
|
name |
Facultatif |
Définit une valeur pour remplacer le nom d'un enregistrement (c'est-à-dire, le niveau racine dans le copybook).
|
|
length-field |
Facultatif |
Définit la méthode de fractionnement de la charge utile de sorte que la recherche de l'enregistrement suivant commence à l'endroit correct. Si cet attribut n'est pas présent, le processeur tente de déterminer la longueur du copybook à partir de la définition. Si, pour une quelconque raison, la longueur ne peut pas être déterminée, le processeur considérera que le reste de la charge utile s'applique à ce copybook et mettra fin au traitement après l'application de ce copybook. S'il ne s'agit pas d'un champ numérique d'affichage non signé, le processeur l'ignorera. |
|
Copyright © 2014 CA Technologies.
Tous droits réservés.
|
|