Passer au contenu principal
Administrator Guide
Dernière mise à jour : 2023-06-23
Référence : objets d'assistance de Workday Studio

Référence : objets d'assistance de Workday Studio

Workday Studio fournit un certain nombre d'objets d'assistance qui vous permettent d'accéder aux propriétés d'exécution d'une intégration à l'aide de MVEL. Vous pouvez utiliser les objets d'assistance pour apporter des modifications simples aux valeurs d'exécution ou pour les extraire et les transmettre aux composants de l'assemblage.
Objet d'assistance
Objectif
context
Donne accès à :
MediationContext
L'objet de gestion, c'est-à-dire l'état dynamique de l'intégration lors de l'exécution. Le
MediationContext
L'objet renvoie le message en cours, les propriétés de la média, les variables de média et les informations relatives aux erreurs en cours.
Exemple : cette expression récupère la valeur de la propriété.
myProperty
depuis le
MediationContext
:
context.getProperty('myProperty')
Exemple : cette expression récupère la propriété
someProperty
depuis le
MediationContext
si la valeur de la propriété est définie sur
someValue
:
context.getProperty('someProperty').equals('someValue')
da
Objet d'assistance Document Accessor. Donne accès à la liste des documents qui ont été joints à l'événement d'intégration avant l'exécution de cette intégration. Combine efficacement un appel de service web Get Event Documents avec la récupération des documents référencés dans la réponse du service web.
Le
da
L'objet d'aide est soumis à des restrictions :
  • Il doit explicitement inclure une logique pour gérer les cas où un nombre inattendu de pièces jointes est disponible.
  • Il ne peut pas accéder au type de fichier de la pièce jointe.
  • Il ne peut pas accéder au codage de caractères de la pièce jointe.
La stratégie de routage
doc-iterator
gère automatiquement les nombres inattendus de pièces jointes et peut accéder à la fois au type MIME et au codage de caractères. Il est souvent plus approprié pour une intégration d'utiliser cette stratégie pour récupérer les documents d'entrée, plutôt que cet objet d'assistance.
Exemple : cette expression récupère un document d'un événement d'intégration dont le nom est
eIB_Transform_output.txt
et ajoute une variable nommée
var1
:
da.toVar('eib_transform_output.txt', 'var1')
Exemple : cette expression récupère un document portant le libellé suivant :
da.getDocsMatching('label')
ftp
Donne accès à la liste des fichiers renvoyée lors de l'envoi de la requête LIST à un serveur ftp, ftps ou sftp.
Exemple : cette expression récupère une liste de fichiers pour une URL :
ftp.list('URL')
intsys
Fournit un accès pratique et performant à la configuration du système d'intégration renvoyée par l'appel de service web Get Integration Systems.
Exemple : cette expression récupère un attribut d'intégration nommé
username
:
intsys.getAttribute('username')
Exemple : cette expression s'affiche comme vraie s'il existe un service d'intégration portant le nom :
intsys.isServiceEnabled('name')
Si vous utilisez
intsys
Pour accéder à un attribut, vous devez d'abord définir un service sur l'attribut
workday-in
le transport du système d'intégration.
lp
Donne accès aux paramètres de lancement et à d'autres informations dans l'événement de lancement de l'intégration.
Exemple : cette expression récupère la valeur d'un paramètre de lancement portant le nom :
lp.getSimpleData('name')
Exemple : cette expression s'affiche comme vraie s'il existe un paramètre avec le libellé donné :
lp.exists('label') == true
Avant d'utiliser
lp
Vous devez affecter les paramètres de lancement XML à la variable .
wd.launchparameters
.
message
Donne accès au message actuel et à ses informations d'en-tête. Utilisez cet objet pour affecter un nouveau contenu au message.
Par exemple, cette expression récupère la partie racine d'un message sous forme de texte à partir de la
MediationMessage
l'interface :
message.rootPartAsText
Exemple : cette expression récupère
MediationContext
variables :
message.variables
mtable
Donne accès à :
MTableAdapter
l'interface, qui définit les opérations d'une
mtable
instance.
Exemple : cette expression définit les données dans une
mtable
:
mtable['my_property'].set(0, 'Data_Column', 'my_test_data')
parts
Donne accès aux différentes parties du message actuel. La plupart des messages dans les intégrations Workday ont une seule partie, la partie racine. Utiliser
parts[0]
pour accéder à la partie racine.
Exemple : cette expression récupère l'en-tête
someHeader
depuis la partie racine :
parts[0].getHeader('someHeader')
Exemple : cette expression implémente
xpathB
Méthode d'évaluation d'une expression booléenne XPath :
parts[0].xpathB('/a/b')
props
Donne accès à
MediationContext
Propriétés.
Exemple : cette expression récupère la valeur de la propriété.
myProperty
depuis le
MediationContext
:
props.myProperty
Exemple : cette expression récupère la valeur de la propriété.
bean.property
depuis le
MediationContext
:
props['bean.property']
spring
Donne accès aux beans de création et de récupération définis dans la configuration Spring d'un assemblage.
Exemple : cette expression récupère
name
attribut du bean appelé
Fred
dans le contexte printemps :
spring.getBean('fred').name
Par exemple, l'expression suivante accède au contexte de l'application printemps :
spring.parent ApplicationContext
util
Ensemble de fonctions utilitaires permettant d'effectuer des opérations courantes telles que l'échappement de valeurs pour une insertion dans XML ou la création d'une URL HTTPS.
Exemple : cette expression vérifie si le message actuel dans le
MediationContext
est le dernier message que le composant de subdivision va générer :
props['is.last.record'] = util.isLastMessageInBatch()
Certains
util
Les fonctions ont des limites cruciales. Exemple : le
xpathToCommaDelimString
crée une liste séparée par des virgules à partir des valeurs de chaîne de la séquence de nœud renvoyée par une expression XPath agissant sur une chaîne XML donnée. Vous pouvez ensuite fractionner et manipuler la liste séparée par des virgules à l'aide des fonctions de manipulation de chaînes Java dans MVEL. Toutefois, la fonction présente les limites suivantes :
  • Elle prend uniquement en charge XPath 1.
  • Elle ne peut pas générer de fichiers CSV, car elle n'utilise pas les caractères d'échappement appropriés pour les retours à la ligne, les virgules et les guillemets.
  • Elle ne peut pas séparer de manière fiable les données contenant des virgules.
  • L'exigence de XML en tant que chaîne entraîne des pratiques non évolutives, comme la conversion du message de contexte actuel ou de la variable en chaîne.
Workday recommande vivement d'utiliser des demandes de service web explicites et versionnées à des fins de stabilité et de compatibilité descendante. Utilisation de
MVELUtilHelper.getLatestWWSVersion()
dans les intégrations n'est pas une bonne pratique et peut entraîner des intégrations avec des échecs ou des résultats inattendus.
vars
Donne accès à
MediationContext
variables.
Exemple : cette expression récupère la longueur de la variable.
myVariable
:
vars['myVariable'].length
Exemple : cette expression récupère la longueur de la variable.
myVariable
:
vars['myVariable'].length
xmldiff
Donne un accès programmatique aux résultats de la comparaison de documents avec le composant
xmldiff
.
Par exemple, cette expression vérifie s'il existe des différences entre deux documents :
xmldiff.isDifferent() == true
Par exemple, cette expression récupère une liste d'écarts entre deux documents :
xmldiff.changes