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

Référence : objets auxiliaire de Studio

Studio fournit un certain nombre d’objets auxiliaires 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 auxiliaires pour apporter des modifications simples aux valeurs d’exécution ou pour les extraire et les transmettre aux composantes de l’assemblage.
Objet auxiliaire
Objet
context
Donne accès aux éléments suivants :
MediationContext
L’objet, c’est-à-dire l’état dynamique de l’intégration au moment de l’exécution. La
MediationContext
liens d'objets vers le message actuel, les propriétés de la médiatisation, les variables de médiatisation et les informations sur l'erreur actuelle.
Exemple : cette expression récupère la valeur de la propriété
myProperty
à partir du
MediationContext
:
context.getProperty('myProperty')
Exemple : cette expression récupère la propriété
someProperty
à partir du
MediationContext
si la valeur de la propriété est définie à
someValue
:
context.getProperty('someProperty').equals('someValue')
da
L’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.
La
da
L'objet Helper a des limites :
  • Elle doit inclure explicitement une logique pour gérer les cas dans lesquels 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
traite automatiquement un nombre inattendu 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 auxiliaire.
Exemple : cette expression récupère un document à partir d’un événement d’intégration avec le nom de fichier
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 avec l’étiquette donnée :
da.getDocsMatching('label')
ftp
Ce domaine donne accès à la liste des fichiers retournés lors de l'envoi de la demande list à un serveur ftp, ftps ou sftp.
Exemple : cette expression extrait une liste de fichiers pour une adresse URL :
ftp.list('URL')
intsys
Fournit un accès pratique et de haute performance à la configuration du système d’intégration, comme le renvoie l’appel du 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 étant vraie s’il existe un service d’intégration portant le nom donné :
intsys.isServiceEnabled('name')
Si vous utilisez
intsys
Pour accéder à un attribut, vous devez d'abord définir un service dans le champ
workday-in
transport pour le 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 avec le nom donné :
lp.getSimpleData('name')
Exemple : cette expression s’affiche comme vraie s’il existe un paramètre avec l’étiquette donnée :
lp.exists('label') == true
Avant d'utiliser
lp
variable, vous devez affecter les paramètres de lancement XML à la variable
wd.launchparameters
.
message
Ce domaine donne accès au message actuel et aux informations de son en-tête. Utilisez cet objet pour affecter un nouveau contenu au message.
Exemple : cette expression récupère la partie racine d’un message sous forme de texte à partir de
MediationMessage
interface :
message.rootPartAsText
Exemple : cette expression récupère
MediationContext
variables :
message.variables
mtable
Donne accès aux éléments suivants :
MTableAdapter
interface, qui définit les opérations sur 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 parties individuelles 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
à partir de la partie racine :
parts[0].getHeader('someHeader')
Exemple : cette expression met en œuvre la fonction
xpathB
méthode pour évaluer 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
à partir du
MediationContext
:
props.myProperty
Exemple : cette expression récupère la valeur de la propriété
bean.property
à partir du
MediationContext
:
props['bean.property']
spring
Ce domaine donne accès à la création et à la récupération des entreprise(s) définie(s) dans la configuration Ressource d'une agrégation.
Exemple : cette expression récupère
name
attribut du bean appelé
Fred
dans le contexte Print :
spring.getBean('fred').name
Exemple : cette expression donne accès au contexte de l’application Sélection de la source étant les suivantes :
spring.parent ApplicationContext
util
Ensemble de fonctions utilitaires pour effectuer des opérations courantes, comme l’échappement de valeurs pour les insérer dans XML ou la création d’une adresse URL HTTPS.
Exemple : cette expression vérifie si le message actuel est dans la
MediationContext
est le dernier message généré par la composante de fractionnement :
props['is.last.record'] = util.isLastMessageInBatch()
Certains
util
Les fonctions ont des limites essentielles. Exemple : le
xpathToCommaDelimString
La fonction produit 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 qui s'applique à une chaîne XML donnée. Vous pouvez ensuite fractionner et utiliser la liste séparée par des virgules à l’aide des fonctions de manipulation des chaînes de caractères Java dans MVEL. Toutefois, la fonction présente les limites suivantes :
  • Elle ne prend en charge que XPath 1.
  • Elle ne peut pas produire de fichiers CSV car elle ne parvient pas à échapper correctement les nouvelles lignes, les virgules et les caractères de citation.
  • Elle ne peut pas séparer de manière fiable les données contenant des virgules.
  • Son exigence pour XML sous forme de chaîne encourage des pratiques non évolutives telles que la conversion du message de contexte actuel ou de la variable en chaîne.
Workday recommande fortement d’utiliser des demandes de services Web explicites et versionnées pour des raisons de sécurité et de compatibilité rétroactive. Utilisant
MVELUtilHelper.getLatestWWSVersion()
dans les intégrations n’est pas la meilleure pratique et peut entraîner des échecs ou des résultats inattendus dans les intégrations.
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
Fournit un accès par programme aux résultats de la comparaison de documents avec la composante
xmldiff
.
Exemple : cette expression vérifie s’il existe des différences entre deux documents :
xmldiff.isDifferent() == true
Exemple : cette expression extrait une liste des différences entre deux documents :
xmldiff.changes