Introdução:
Para cenários com declarações XML e DTD na carga de entrada, geralmente implementamos um passo separado escrevendo um script XSL / Groovy para remover essas declarações para o esquema apropriado. Em vez de escrever esse script, podemos usar diretamente a função de paleta "XML Modifier" para remover essas declarações/namespace. Vamos explorar essa função de paleta em detalhes.
Script XSL para remover a declaração XML:
...
Configuração do XML Modifier:
Ir para transformadores de mensagens, selecionar XML modifier:
Configuração:
Consideremos um cenário para entender o caso de uso do XML Modifier usando o seguinte fluxo de integração de exemplo:
-
Esta é uma interface baseada em temporizador que é executada uma vez em nossos requisitos ad hoc.
-
Configurei a seguinte carga de exemplo como o corpo através do modificador de conteúdo.
Carga:
...
3.a) Remover a declaração XML da carga.
No processamento do XML Modifier, marque a caixa de seleção "Remover declaração XML".
A saída da Integração implantada anteriormente é registrada como um anexo usando o passo Groovy.
...
3.b) Remover as declarações XML e DTD da carga.
No processamento do XML Modifier, marque ambas as caixas de seleção para ver a seguinte saída -
Carga de saída
...
Caso de uso:
-
Em cenários com múltiplas cargas de entrada (Exemplo: cargas de mais de uma solicitação de resposta) precisamos remover as declarações XML das cargas individuais para um mapeamento bem-sucedido (mapeamento múltiplo com espaços de nomes) onde o XML Modifier pode evitar o uso de XSLTs.
-
No SAP CPI, as DTDs podem fazer com que a mensagem falhe devido às melhorias de segurança. É importante remover essas declarações, o que pode ser feito com essa função de paleta.
Espero que você possa se beneficiar da função de paleta apresentada nesta postagem do blog.
Em caso de perguntas ou comentários, não hesite em comentar neste blog.