Olá vikranthrokz0074_2 ,
Você poderia usar a etapa [Router] e manter uma condição para verificar se a contagem do nó é maior que 0.
/root/count(ChileElementName)>0
Espero que isso te ajude!
Obrigado e cumprimentos,
Praveen T

Avalados por :
Estou usando o adaptador Https para enviar o arquivo xml. No meu cenário, preciso verificar se o arquivo está vazio ou não; se estiver vazio, devo encerrar, se contiver dados xml, devo continuar. Alguém pode me sugerir como fazer isso, por favor?
Olá vikranthrokz0074_2 ,
Você poderia usar a etapa [Router] e manter uma condição para verificar se a contagem do nó é maior que 0.
/root/count(ChileElementName)>0
Espero que isso te ajude!
Obrigado e cumprimentos,
Praveen T
Olá vikranthrokz0074_2
Não, isso não funcionará. Mas sugiro que experimente as sugestões em seu sistema real. Quanto à expressão não XML: mencione que as condições de XPath (= XML) não funcionarão se a carga útil estiver vazia. Falhará em tempo de execução.
Saudações,
Morten
Olá Morten,
Posso usar ${in.body.length}="0" para o meu cenário? É preferível? No exemplo anterior, você forneceu uma expressão não XML, mas no meu caso, o arquivo de entrada é XML, funcionará para ele?
Olá Vikranth
O passo do Roteador é o caminho a seguir, conforme Sriprasad e Praveen apontam. No entanto, a condição de roteamento não é direta. Usar uma condição XPath falhará se não houver carga útil alguma. E quanto à alternativa (uma expressão de linguagem simples), não sei se é viável.
O que funcionará, no entanto, é testar uma carga útil vazia em um script Groovy antes do Roteador, armazenar o resultado em uma propriedade e então ramificar com base nessa propriedade. Aqui está o script:
import com.sap.gateway.ip.core.customdev.util.Message
def Message processData(Message message) {
def body = message.getBody(String)
message.setProperty('EmptyPayload', body == null || body.isEmpty())
return message
}
Isso armazena verdadeiro ou falso na propriedade chamada EmptyPayload.
Em seguida, crie um Roteador onde a rota padrão é o caso não vazio (ou seja, onde você deseja fazer algum trabalho). A outra rota possui a seguinte condição de roteamento não XML:
${property.EmptyPayload} = 'true'
Esta ramificação pode ser encerrada com um evento de Mensagem Final.
Portanto, sua configuração seria algo assim:
Saudações,
Morten
config.pngcontacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2025 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute