Transforme XML em fluxos de trabalho com os Aplicativos Lógicos do Azure
Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)
Em cenários B2B (Enterprise Integration Business-to-Business), talvez seja necessário converter XML entre formatos. Seu fluxo de trabalho de aplicativo lógico pode transformar XML usando a ação Transformar XML e um mapa predefinido.
Por exemplo, suponha que você receba regularmente pedidos B2B ou faturas de um cliente que usa o formato de data YearMonthDay (AAAAMMDD). No entanto, sua organização usa o formato de data MonthDayYear (MMDDYYYY). Você pode criar e usar um mapa que transforma o formato YearMonthDay para o formato MonthDayYear antes de armazenar os detalhes do pedido ou da fatura no banco de dados de atividades do cliente.
Pré-requisitos
Uma conta e subscrição do Azure. Se ainda não tiver uma subscrição, inscreva-se numa conta gratuita do Azure.
Um fluxo de trabalho de aplicativo lógico que já começa com um gatilho para que você possa adicionar a ação Transformar XML quando necessário em seu fluxo de trabalho.
Um recurso de conta de integração onde você define e armazena artefatos, como parceiros comerciais, contratos, certificados e assim por diante, para uso em sua integração empresarial e fluxos de trabalho B2B. Este recurso tem de cumprir os seguintes requisitos:
Está associado à mesma assinatura do Azure que seu recurso de aplicativo lógico.
Existe no mesmo local ou região do Azure que o recurso do aplicativo lógico onde você planeja usar a ação Transformar XML .
Se você estiver trabalhando em um recurso e fluxo de trabalho do aplicativo lógico de consumo, sua conta de integração exigirá os seguintes itens:
O mapa a ser usado para transformar o conteúdo XML.
Um link para o recurso do aplicativo lógico.
Se você estiver trabalhando em um recurso e fluxo de trabalho do aplicativo lógico padrão, poderá vincular sua conta de integração ao recurso do aplicativo lógico, carregar mapas diretamente para o recurso do aplicativo lógico ou ambos, com base nos seguintes cenários:
Se você já tiver uma conta de integração com os artefatos que precisa ou deseja usar, poderá vincular sua conta de integração a vários recursos do aplicativo lógico padrão onde deseja usar os artefatos. Dessa forma, você não precisa carregar mapas para cada aplicativo lógico individual. Para obter mais informações, consulte Vincular seu recurso de aplicativo lógico à sua conta de integração.
Se você não tiver uma conta de integração ou planeja usar apenas seus artefatos em vários fluxos de trabalho dentro do mesmo recurso de aplicativo lógico, poderá adicionar mapas diretamente ao recurso do aplicativo lógico usando o portal do Azure ou o Visual Studio Code.
Nota
O conector integrado Liquid permite selecionar um mapa que você carregou anteriormente para o recurso do aplicativo lógico ou para uma conta de integração vinculada, mas não ambos.
Então, se você não tem ou precisa de uma conta de integração, você pode usar a opção de upload. Caso contrário, você pode usar a opção de vinculação. De qualquer forma, você pode usar esses artefatos em todos os fluxos de trabalho filho dentro do mesmo recurso de aplicativo lógico.
Você ainda precisa de uma conta de integração para armazenar outros artefatos, como parceiros, contratos e certificados, além de usar as operações AS2, X12 e EDIFACT.
Adicionar ação Transformar XML
No portal do Azure, abra seu aplicativo lógico padrão e fluxo de trabalho no designer.
Se você tiver um fluxo de trabalho em branco que não tenha um gatilho, siga estas etapas gerais para adicionar qualquer gatilho desejado. Caso contrário, avance para o passo seguinte.
Este exemplo usa o gatilho Request .
Na etapa do fluxo de trabalho em que você deseja adicionar a ação Transformar XML, siga estas etapas gerais para adicionar a ação chamada Transformar XML.
Na caixa Conteúdo, especifique o conteúdo XML que você deseja transformar usando quaisquer dados XML recebidos na solicitação HTTP.
Para selecionar saídas de operações anteriores no fluxo de trabalho, na ação Transformar XML , clique dentro da caixa Conteúdo e selecione a opção de lista de conteúdo dinâmico (ícone de relâmpago).
Na lista de conteúdo dinâmico, selecione o token para o conteúdo que você deseja transformar.
Este exemplo seleciona o token Body do gatilho.
Nota
Certifique-se de selecionar conteúdo XML. Se o conteúdo não for XML ou estiver codificado em base64, você deverá especificar uma expressão que processe o conteúdo. Por exemplo, você pode usar funções de expressão, como decodificar conteúdo ou
xml()
processar o conteúdo comobase64ToBinary()
XML.
Na lista Origem do mapa, selecione o local onde você carregou seu mapa, seu recurso LogicApp ou sua IntegrationAccount.
Na lista Mapa, selecione seu mapa.
Quando tiver terminado, guarde o fluxo de trabalho.
Agora você terminou de configurar sua ação Transformar XML . Em um aplicativo do mundo real, talvez você queira armazenar os dados transformados em um aplicativo de linha de negócios (LOB), como o SalesForce. Para enviar a saída transformada para o Salesforce, adicione uma ação do Salesforce.
Para testar sua ação de transformação, acione e execute seu fluxo de trabalho. Por exemplo, para o gatilho Solicitação, envie uma solicitação para a URL do ponto de extremidade do gatilho.
A ação Transformar XML é executada depois que o fluxo de trabalho é acionado e quando o conteúdo XML está disponível para transformação.
Capacidades avançadas
Fazer referência a assemblies ou chamar código personalizado a partir de mapas
A ação Transformar XML oferece suporte à referência de assemblies externos de mapas, que permitem chamar diretamente código .NET personalizado de mapas XSLT. Para obter mais informações, consulte Adicionar mapas XSLT para fluxos de trabalho em Aplicativos Lógicos do Azure.
Objetos de extensão de referência
Em fluxos de trabalho padrão, a ação Transformar XML oferece suporte à especificação de um objeto de extensão XML a ser usado com seu mapa.
Na ação Transformar XML, abra a lista Parâmetros avançados e selecione Objeto de extensão XML, que adiciona o parâmetro à ação.
Na caixa Objeto de extensão XML, especifique seu objeto de extensão, por exemplo:
Marca de ordem de bytes
Por padrão, a resposta da transformação começa com uma marca de ordem de bytes (BOM). Você pode acessar essa funcionalidade somente quando trabalha no editor de visualização de código. Para desativar essa funcionalidade, defina a transformOptions
propriedade como disableByteOrderMark
:
"Transform_XML": {
"inputs": {
"content": "@{triggerBody()}",
"integrationAccount": {
"map": {
"name": "TestMap"
}
},
"transformOptions": "disableByteOrderMark"
},
"runAfter": {},
"type": "Xslt"
}