Ir para o conteúdo principal
Administrator Guide
Última atualização: 2023-06-23
Referência: objetos auxiliares do Studio

Referência: objetos auxiliares do Studio

O Studio fornece vários objetos auxiliares que permitem que você acesse as propriedades de tempo de execução de uma integração usando MVEL. Você pode usar os objetos auxiliares para fazer alterações simples nos valores de tempo de execução ou extraí-los e passá-los aos componentes no assembly.
Objeto auxiliar
Finalidade
context
Dá acesso ao
MediationContext
do objeto - ou seja, para o estado dinâmico da integração em tempo de execução. O
MediationContext
links de objeto à mensagem atual, propriedades de conciliação, variáveis de conciliação e informações de erro atuais.
Exemplo: essa expressão recupera o valor da propriedade
myProperty
de
MediationContext
:
context.getProperty('myProperty')
Exemplo: essa expressão recupera a propriedade
someProperty
de
MediationContext
se o valor da propriedade está definido como
someValue
:
context.getProperty('someProperty').equals('someValue')
da
O objeto de ajuda do acessor de documentos Fornece acesso à lista de documentos que foram anexados ao evento de integração antes da execução da integração. Combina de forma eficaz uma chamada de serviço Web Get Event Documents com a recuperação dos documentos referenciados na resposta do serviço Web.
O
da
O objeto auxiliar tem algumas limitações:
  • Ele deve incluir explicitamente a lógica para lidar com casos em que um número inesperado de anexos está disponível.
  • Ele não pode acessar o tipo de arquivo do anexo.
  • Ele não pode acessar a codificação de caracteres do anexo.
A estratégia de roteador
doc-iterator
lida com um número inesperado de anexos automaticamente e pode acessar tanto o tipo MIME quanto a codificação de caracteres. Geralmente, é mais apropriado que uma integração use essa estratégia para recuperar documentos de entrada do que esse objeto de ajuda.
Exemplo: essa expressão recupera um documento de um evento de integração com o nome de arquivo
eib_transform_output.txt
e adiciona uma variável chamada
var1
:
da.toVar('eib_transform_output.txt', 'var1')
Exemplo: essa expressão recupera um documento com o rótulo fornecido:
da.getDocsMatching('label')
ftp
Fornece acesso à lista de arquivos retornados durante a emissão da solicitação LIST para um servidor ftp, ftps ou sftp.
Exemplo: a expressão a seguir recupera uma lista de arquivos para um URL:
ftp.list('URL')
intsys
Fornece acesso conveniente e de alto desempenho à configuração do sistema de integração, conforme retornado pela chamada de serviço Web Get Integration Systems.
Exemplo: essa expressão recupera um atributo de integração denominado
username
:
intsys.getAttribute('username')
Exemplo: essa expressão é exibida como verdadeira se existe um serviço de integração com este nome:
intsys.isServiceEnabled('name')
Se você usa
intsys
para acessar um atributo, você deve primeiro definir um serviço na
workday-in
transport para o sistema de integração.
lp
Fornece acesso aos parâmetros de inicialização e a outras informações no evento de inicialização da integração.
Exemplo: essa expressão recupera o valor de um parâmetro de inicialização com o nome fornecido:
lp.getSimpleData('name')
Exemplo: essa expressão é exibida como verdadeira se existe um parâmetro com o rótulo fornecido:
lp.exists('label') == true
Antes de usar a
lp
, você precisa atribuir o XML de parâmetros de inicialização à variável
wd.launchparameters
.
message
Fornece acesso à mensagem atual e às respectivas informações de cabeçalho. Use este objeto para atribuir novo conteúdo à mensagem.
Exemplo: essa expressão recupera a parte raiz de uma mensagem como texto da
MediationMessage
Interface:
message.rootPartAsText
Exemplo: essa expressão recupera
MediationContext
variáveis:
message.variables
mtable
Dá acesso ao
MTableAdapter
, que define as operações em um
mtable
instance.
Exemplo: essa expressão define dados em uma
mtable
:
mtable['my_property'].set(0, 'Data_Column', 'my_test_data')
parts
Fornece acesso às partes individuais da mensagem atual. A maioria das mensagens nas integrações do Workday tem uma única parte, a parte raiz. Uso
parts[0]
para acessar a parte raiz.
Exemplo: essa expressão recupera o cabeçalho
someHeader
na parte da raiz:
parts[0].getHeader('someHeader')
Exemplo: essa expressão implementa a
xpathB
para avaliar uma expressão booliana XPath:
parts[0].xpathB('/a/b')
props
Dá acesso a
MediationContext
propriedades do.
Exemplo: essa expressão recupera o valor da propriedade
myProperty
de
MediationContext
:
props.myProperty
Exemplo: essa expressão recupera o valor da propriedade
bean.property
de
MediationContext
:
props['bean.property']
spring
Fornece acesso aos fontes de criação e recuperação definidos em uma configuração do Molas de uma assemblagem.
Exemplo: essa expressão recupera o
name
atributo do bean chamado
Fred
no contexto da fonte:
spring.getBean('fred').name
Exemplo: essa expressão acessa o contexto de aplicativo Mola:
spring.parent ApplicationContext
util
Um conjunto de funções de utilitário para executar operações comuns, como escape de valores para inserção em XML ou criação de um URL HTTPS.
Exemplo: essa expressão verifica se a mensagem atual no
MediationContext
é a última mensagem que o componente divisor gerará:
props['is.last.record'] = util.isLastMessageInBatch()
Alguns
util
As funções têm limitações essenciais. Exemplo: o
xpathToCommaDelimString
A função produz uma lista separada por vírgulas dos valores de cadeia de caracteres da sequência de nós retornada por uma expressão XPath que opera em uma determinada cadeia de caracteres XML. Depois, você pode dividir e manipular a lista separada por vírgulas usando as funções de manipulação de cadeia de caracteres Java no Mvel. No entanto, a função tem estas limitações:
  • Oferece suporte somente a XPath 1.
  • Não pode produzir arquivos CSV, pois não faz o escape corretamente de caracteres de nova linha, vírgula e aspas.
  • Não separa de modo confiável dados que contêm vírgulas.
  • O requisito para XML como uma cadeia de caracteres incentiva práticas não escaláveis, como converter a mensagem de contexto atual ou variável em uma cadeia de caracteres.
A Workday recomenda enfaticamente o uso de solicitações de serviço Web explícitas e com versão para fins de estabilidade e compatibilidade com versões anteriores. Usando
MVELUtilHelper.getLatestWWSVersion()
O em integrações não é a prática recomendada e pode levar a integrações com falhas ou resultados inesperados.
vars
Dá acesso a
MediationContext
variáveis.
Exemplo: essa expressão recupera o comprimento da variável
myVariable
:
vars['myVariable'].length
Exemplo: essa expressão recupera o comprimento da variável
myVariable
:
vars['myVariable'].length
xmldiff
Fornece acesso programático aos resultados da comparação de documentos com o componente
xmldiff
.
Exemplo: essa expressão verifica se há diferenças entre dois documentos:
xmldiff.isDifferent() == true
Exemplo: essa expressão recupera uma lista de diferenças entre dois documentos:
xmldiff.changes