Skip to main content
Administrator Guide
Laatst bijgewerkt: 2023-06-23
Referentie: Studio Helper-objecten

Referentie: Studio Helper-objecten

Studio biedt een aantal hulpobjecten waarmee u met MVEL toegang hebt tot de runtime-eigenschappen van een integratie. U kunt de helperobjecten gebruiken om eenvoudige wijzigingen in runtimewaarden aan te brengen of om deze te extraheren en door te geven aan componenten in de assemblage.
Helperobject
Doel
context
Biedt toegang tot de
MediationContext
object, d.w.z. naar de dynamische status van de integratie tijdens runtime. De
MediationContext
object is gekoppeld aan het huidige bericht, de bemiddelingseigenschappen, de bemiddelingsvariabelen en de huidige foutgegevens.
Voorbeeld: met deze expressie wordt de waarde van de eigenschap opgehaald
myProperty
van
MediationContext
:
context.getProperty('myProperty')
Voorbeeld: met deze expressie wordt de eigenschap opgehaald:
someProperty
van
MediationContext
als de eigenschapswaarde is ingesteld op:
someValue
:
context.getProperty('someProperty').equals('someValue')
da
Het Helper-object Document Accessor. Biedt toegang tot de lijst met documenten die aan de integratiegebeurtenis waren gekoppeld voordat deze integratie werd uitgevoerd. De webserviceaanroep 'Gebeurtenisdocumenten ophalen' wordt effectief gecombineerd met het ophalen van de documenten waarnaar wordt verwezen in het webserviceantwoord.
De
da
helper-object heeft enkele beperkingen:
  • Het moet expliciet logica bevatten voor het afhandelen van cases waarin een onverwacht aantal bijlagen beschikbaar is.
  • Het heeft geen toegang tot het bestandstype van de bijlage.
  • Het heeft geen toegang tot de tekencodering van de bijlage.
De
doc-iterator-
routerstrategie verwerkt automatisch onverwachte aantallen bijlagen en heeft toegang tot zowel het MIME-type als de tekencodering. Voor een integratie is het vaak passender om die strategie te gebruiken om invoerdocumenten op te halen in plaats van dit Helper-object.
Voorbeeld: met deze expressie wordt een document opgehaald uit een integratiegebeurtenis met de bestandsnaam
eib_transform_output.txt
en wordt een variabele met de naam toegevoegd
var1
:
da.toVar('eib_transform_output.txt', 'var1')
Voorbeeld: met deze expressie wordt een document opgehaald met het opgegeven label:
da.getDocsMatching('label')
ftp
Biedt toegang tot de lijst met bestanden die zijn geretourneerd bij het verzenden van de LIST-aanvraag naar een ftp-, ftps- of sftp-server.
Voorbeeld: met deze expressie wordt een lijst met bestanden voor een URL opgehaald:
ftp.list('URL')
intsys
Biedt gemakkelijke en hoogwaardige toegang tot de configuratie van het integratiesysteem zoals geretourneerd door de webserviceaanroep 'Get Integration Systems'.
Voorbeeld: met deze expressie wordt een integratiekenmerk opgehaald met de naam
username
:
intsys.getAttribute('username')
Voorbeeld: deze expressie wordt als 'waar' weergegeven als er een integratieservice met de opgegeven naam bestaat:
intsys.isServiceEnabled('name')
Als u gebruikt
intsys
om toegang te krijgen tot een kenmerk, moet u eerst een service definiëren op de
workday-in
transport voor het integratiesysteem.
lp
Biedt toegang tot startparameters en andere informatie in de integratiestartgebeurtenis.
Voorbeeld: met deze expressie wordt de waarde opgehaald van een startparameter met de opgegeven naam:
lp.getSimpleData('name')
Voorbeeld: deze expressie wordt als 'waar' weergegeven als een parameter met het opgegeven label bestaat:
lp.exists('label') == true
Voordat u de gebruikt
lp
variabele, moet u de startparameters XML toewijzen aan de variabele
wd.launchparameters
.
message
Biedt toegang tot het huidige bericht en de koptekstgegevens. Gebruik dit object om nieuwe inhoud aan het bericht toe te wijzen.
Voorbeeld: met deze expressie wordt het hoofdgedeelte van een bericht als tekst opgehaald uit de
MediationMessage
interface:
message.rootPartAsText
Voorbeeld: met deze expressie wordt . opgehaald
MediationContext
variabelen:
message.variables
mtable
Biedt toegang tot de
MTableAdapter
-interface, die de bewerkingen op een
mtable
instance.
Voorbeeld: met deze expressie worden gegevens ingesteld in an
mtable
:
mtable['my_property'].set(0, 'Data_Column', 'my_test_data')
parts
Biedt toegang tot de afzonderlijke delen van het huidige bericht. De meeste berichten in Workday-integraties hebben één deel, het hoofddeel. Gebruiken
parts[0]
om toegang te krijgen tot het hoofdgedeelte.
Voorbeeld: met deze expressie wordt de koptekst opgehaald
someHeader
van het hoofdgedeelte:
parts[0].getHeader('someHeader')
Voorbeeld: deze expressie implementeert de
xpathB
methode om een XPath Boole-expressie te evalueren:
parts[0].xpathB('/a/b')
props
Biedt toegang tot:
MediationContext
eigenschappen.
Voorbeeld: met deze expressie wordt de waarde van de eigenschap opgehaald
myProperty
van
MediationContext
:
props.myProperty
Voorbeeld: met deze expressie wordt de waarde van de eigenschap opgehaald
bean.property
van
MediationContext
:
props['bean.property']
spring
Biedt toegang tot de boons voor het maken en ophalen die zijn gedefinieerd in de lente-configuratie van een merk.
Voorbeeld: met deze expressie wordt de opgehaald
name
kenmerk van de bean met de naam
Fred
in de context Spring:
spring.getBean('fred').name
Voorbeeld: deze expressie opent de toepassingscontext Spring:
spring.parent ApplicationContext
util
Een set hulpprogramma's voor het uitvoeren van algemene bewerkingen, zoals escape-waarden voor invoeging in XML of het maken van een HTTPS-URL.
Voorbeeld: met deze expressie wordt gecontroleerd of het huidige bericht in de
MediationContext
is het laatste bericht dat de splitsercomponent genereert:
props['is.last.record'] = util.isLastMessageInBatch()
Sommige
util
functies hebben cruciale beperkingen. Voorbeeld: the
xpathToCommaDelimString
Deze functie produceert een door komma's gescheiden lijst van de tekenreekswaarden van de knooppuntreeks die wordt geretourneerd door een XPath-expressie die op basis van een bepaalde XML-tekenreeks wordt uitgevoerd. Vervolgens kunt u de door komma's gescheiden lijst splitsen en manipuleren met behulp van Java-tekenreeksmanipulatiefuncties in MVEL. De functie heeft echter de volgende beperkingen:
  • Het ondersteunt alleen XPath 1.
  • Er kunnen geen CSV-bestanden worden gemaakt omdat nieuwe regels, komma's en aanhalingstekens niet op de juiste manier worden voorzien van escapetekens.
  • Gegevens met komma's kunnen niet op betrouwbare wijze worden gescheiden.
  • De vereiste voor XML als tekenreeks moedigt niet-schaalbare praktijken aan, zoals het converteren van het huidige contextbericht of de huidige variabele naar een tekenreeks.
Workday raadt u ten zeerste aan om expliciete webserviceaanvragen met versiebeheer te gebruiken voor stabiliteit en achterwaartse compatibiliteit. Met:
MVELUtilHelper.getLatestWWSVersion()
in -integraties is geen best practice en kan leiden tot integraties met onverwachte fouten of resultaten.
vars
Biedt toegang tot:
MediationContext
variabelen.
Voorbeeld: met deze expressie wordt de lengte van de variabele opgehaald
myVariable
:
vars['myVariable'].length
Voorbeeld: met deze expressie wordt de lengte van de variabele opgehaald
myVariable
:
vars['myVariable'].length
xmldiff
Biedt programmatische toegang tot de resultaten van documentvergelijking met de
xmldiff-
component.
Voorbeeld: met deze expressie wordt gecontroleerd of er verschillen zijn tussen twee documenten:
xmldiff.isDifferent() == true
Voorbeeld: met deze expressie wordt een lijst met verschillen tussen twee documenten opgehaald:
xmldiff.changes