Passa al contenuto principale
Administrator Guide
Ultimo aggiornamento: 2023-06-23
Riferimenti: Oggetti helper di Studio

Riferimenti: Oggetti helper di Studio

Studio fornisce una serie di oggetti di supporto che consentono di accedere alle proprietà di esecuzione di un'integrazione utilizzando MVEL. È possibile utilizzare gli oggetti helper per apportare semplici modifiche ai valori di esecuzione o per estrarle e passarle ai componenti dell'assembly.
Oggetto helper
Scopo
context
Fornisce l'accesso a
MediationContext
oggetto, ovvero allo stato dinamico dell'integrazione in fase di esecuzione. Il
MediationContext
l'oggetto si collega al messaggio corrente, alle proprietà di mediazione, alle variabili di mediazione e alle informazioni sull'errore corrente.
Esempio: questa espressione recupera il valore della proprietà
myProperty
dal
MediationContext
:
context.getProperty('myProperty')
Esempio: questa espressione recupera la proprietà
someProperty
dal
MediationContext
se il valore della proprietà è impostato su
someValue
:
context.getProperty('someProperty').equals('someValue')
da
Oggetto helper Accesso ai documenti. Fornisce accesso all'elenco dei documenti allegati all'evento di integrazione prima dell'esecuzione dell'integrazione. Combina efficacemente una chiamata al servizio Web Get Event Documents con il recupero dei documenti a cui si fa riferimento nella risposta del servizio Web.
Il
da
l'oggetto helper presenta alcune limitazioni:
  • Deve includere in modo esplicito la logica per gestire i casi in cui è disponibile un numero imprevisto di allegati.
  • Non può accedere al tipo di file dell'allegato.
  • Non può accedere alla codifica dei caratteri dell'allegato.
La strategia del router
doc-iterator
gestisce automaticamente un numero imprevisto di allegati e può accedere sia al tipo MIME sia alla codifica dei caratteri. Spesso è più appropriato che un'integrazione utilizzi tale strategia per recuperare i documenti di input, anziché questo oggetto di supporto.
Esempio: questa espressione recupera un documento da un evento di integrazione con nome file
eib_transform_output.txt
e aggiunge una variabile denominata
var1
:
da.toVar('eib_transform_output.txt', 'var1')
Esempio: questa espressione recupera un documento con l'etichetta specificata:
da.getDocsMatching('label')
ftp
Fornisce l'accesso all'elenco dei file restituiti quando si inoltra la richiesta LIST a un server ftp, ftps o sftp.
Esempio: questa espressione recupera un elenco di file per un URL:
ftp.list('URL')
intsys
Fornisce un accesso comodo e ad alte prestazioni alla configurazione del sistema di integrazione restituita dalla chiamata al servizio Web Get Integration Systems.
Esempio: questa espressione recupera un attributo di integrazione denominato
username
:
intsys.getAttribute('username')
Esempio: questa espressione viene visualizzata come vera se esiste un servizio di integrazione con il nome specificato:
intsys.isServiceEnabled('name')
Se si utilizza
intsys
per accedere a un attributo, è necessario prima definire un servizio in
workday-in
trasporto per il sistema di integrazione.
lp
Fornisce l'accesso ai parametri di avvio e ad altre informazioni nell'evento di avvio dell'integrazione.
Esempio: questa espressione recupera il valore di un parametro di avvio con il nome specificato:
lp.getSimpleData('name')
Esempio: questa espressione viene visualizzata come vera se esiste un parametro con l'etichetta specificata:
lp.exists('label') == true
Prima di utilizzare
lp
variabile, è necessario assegnare i parametri di avvio XML alla variabile
wd.launchparameters
.
message
Fornisce l'accesso al messaggio corrente e alle relative informazioni di intestazione. Utilizzare questo oggetto per assegnare un nuovo contenuto al messaggio.
Esempio: questa espressione recupera la parte radice di un messaggio come testo da
MediationMessage
interfaccia:
message.rootPartAsText
Esempio: questa espressione esegue il recupero
MediationContext
variabili:
message.variables
mtable
Fornisce l'accesso a
MTableAdapter
, che definisce le operazioni su un'interfaccia
mtable
istanza
Esempio: questa espressione imposta i dati in un
mtable
:
mtable['my_property'].set(0, 'Data_Column', 'my_test_data')
parts
Fornisce l'accesso alle singole parti del messaggio corrente. La maggior parte dei messaggi nelle integrazioni di Workday ha un'unica parte, la parte radice. Utilizzare
parts[0]
per accedere alla parte radice.
Esempio: questa espressione recupera l'intestazione
someHeader
dalla parte radice:
parts[0].getHeader('someHeader')
Esempio: questa espressione implementa il
xpathB
per valutare un'espressione booleana XPath:
parts[0].xpathB('/a/b')
props
Fornisce l'accesso a
MediationContext
proprietà
Esempio: questa espressione recupera il valore della proprietà
myProperty
dal
MediationContext
:
props.myProperty
Esempio: questa espressione recupera il valore della proprietà
bean.property
dal
MediationContext
:
props['bean.property']
spring
Fornisce l'accesso ai bean di creazione e recupero definiti nella configurazione Spring di un assembly.
Esempio: questa espressione recupera il
name
attributo del bean chiamato
Fred
nel contesto primaverile:
spring.getBean('fred').name
Esempio: questa espressione accede al contesto dell'applicazione Spring:
spring.parent ApplicationContext
util
Un insieme di funzioni di utilità per eseguire operazioni comuni come l'escape dei valori per l'inserimento in XML o la creazione di un URL HTTPS.
Esempio: questa espressione verifica se il messaggio corrente in
MediationContext
è l'ultimo messaggio generato dal componente splitter:
props['is.last.record'] = util.isLastMessageInBatch()
Alcuni
util
le funzioni hanno limitazioni cruciali. Esempio: il
xpathToCommaDelimString
La funzione genera un elenco separato da virgole dai valori stringa della sequenza di nodi restituita da un'espressione XPath che opera su una determinata stringa XML. È quindi possibile suddividere e modificare l'elenco separato da virgole utilizzando le funzioni di manipolazione delle stringhe Java in MVEL. Tuttavia, la funzione presenta le seguenti limitazioni:
  • Supporta solo XPath 1.
  • Non è in grado di produrre file CSV poiché non esegue correttamente l'escape di nuove righe, virgole e caratteri di citazione.
  • Non può separare in modo affidabile i dati contenenti virgole.
  • Il requisito per XML come stringa incoraggia pratiche non scalabili come la conversione del messaggio di contesto o della variabile corrente in una stringa.
Per motivi di stabilità e compatibilità con le versioni precedenti, è consigliabile utilizzare richieste di servizi Web esplicite con controllo della versione. Utilizzando
MVELUtilHelper.getLatestWWSVersion()
in integrazioni non è una best practice e può portare a integrazioni con errori o risultati imprevisti.
vars
Fornisce l'accesso a
MediationContext
variabili
Esempio: questa espressione recupera la lunghezza della variabile
myVariable
:
vars['myVariable'].length
Esempio: questa espressione recupera la lunghezza della variabile
myVariable
:
vars['myVariable'].length
xmldiff
Fornisce l'accesso a livello di codice ai risultati del confronto dei documenti con il componente
xmldiff
.
Esempio: questa espressione verifica se sono presenti differenze tra due documenti:
xmldiff.isDifferent() == true
Esempio: questa espressione recupera un elenco di differenze tra due documenti:
xmldiff.changes