Codificar, decodificar ou gerar esquemas para ficheiros planos no Azure Logic Apps

Aplica-se a: Azure Logic Apps (Consumption + Standard)

Para fluxos de trabalho de integração business-to-business (B2B), muitas vezes é necessário converter dados entre formatos XML e ficheiros planos antes de poder trocar esses dados com parceiros comerciais.

Este guia mostra como usar ações de conectores incorporadas no Flat File para codificar ou decodificar XML e para gerar esquemas de flat file compatíveis com BizTalk a partir de dados de exemplo.

Referência técnica do conector

O conector Flat File inclui as seguintes ações de codificação, descodificação e geração de esquemas:

Action Consumo Standard
Codificação de ficheiros planos Yes Yes
Descodificação de ficheiros planos Yes Yes
Geração de Esquemas de Ficheiros Planos No Yes
Aplicação de Lógica Meio Ambiente
Consumo Aplicativos Lógicos Multilocatário do Azure
Standard Aplicações Lógicas do Azure de locatário único, Ambiente de Serviço de Aplicações v3 (planos Windows apenas) e implantação híbrida

Para obter mais informações, consulte Conectores incorporados da conta de integração.

Pré-requisitos

  • Uma conta do Azure e uma subscrição. Crie uma conta Azure gratuita.

  • O recurso e o fluxo de trabalho da aplicação lógica onde pretende usar as operações do Ficheiro Plano.

    As operações de ficheiro plano não incluem nenhum gatilho. O teu fluxo de trabalho pode começar com qualquer trigger ou usar qualquer ação para trazer o XML de origem.

    Os exemplos neste artigo utilizam o gatilho de pedido chamado When an HTTP request is received (quando um pedido HTTP é recebido).

    Para obter mais informações, consulte:

  • Um recurso de conta de integração para definir e armazenar artefactos para integração empresarial e fluxos de trabalho B2B.

    • Sua conta de integração e o recurso do aplicativo lógico devem existir na mesma assinatura do Azure e na mesma região do Azure.

    • Antes de começar a trabalhar com operações de Flat File , deve ligar a sua aplicação de lógica de consumo ou a sua aplicação de lógica Standard à conta de integração para trabalhar com artefactos como parceiros comerciais e acordos. Pode ligar uma conta de integração a múltiplos recursos da aplicação Consumption ou Standard Logic para partilhar os mesmos artefactos.

    Sugestão

    Se não estiver a trabalhar com artefactos B2B como parceiros comerciais e acordos em fluxos de trabalho Standard, pode não precisar de uma conta de integração. Em vez disso, pode carregar esquemas diretamente para o recurso da sua aplicação Standard Logic. De qualquer forma, podes usar o mesmo esquema em todos os subfluxos de trabalho no mesmo recurso da aplicação lógica. Para usar o mesmo esquema em vários recursos da Logic App, deve usar e ligar uma conta de integração.

  • Um esquema de ficheiro plano que especifica como codificar ou decodificar conteúdo XML.

    Nos fluxos de trabalho Standard, as operações de Ficheiro Plano permitem-lhe selecionar um esquema a partir de uma conta de integração ligada ou que tenha carregado anteriormente para a sua aplicação lógica, mas não ambos.

    Para mais informações, consulte Adicionar esquemas às contas de integração.

  • Instale ou use uma ferramenta que possa enviar solicitações HTTP para testar sua solução, por exemplo:

    Atenção

    Para cenários em que você tem dados confidenciais, como credenciais, segredos, tokens de acesso, chaves de API e outras informações semelhantes, certifique-se de usar uma ferramenta que proteja seus dados com os recursos de segurança necessários. A ferramenta deve funcionar offline ou localmente e não requer login em uma conta online ou sincronização de dados com a nuvem. Ao usar uma ferramenta com essas características, você reduz o risco de expor dados confidenciais ao público.

Limitações

  • O conteúdo XML que você deseja decodificar deve ser codificado no formato UTF-8.

  • No seu esquema de ficheiro simples, certifique-se de que os grupos XML contidos não têm um número excessivo de ocorrências da propriedade max count definida com um valor superior a 1. Evite aninhar um grupo XML com um valor da propriedade max count superior a 1 dentro de outro grupo XML com um valor da propriedade max count superior a 1.

  • Quando o Azure Logic Apps analisa o esquema do ficheiro plano, e quando o esquema permite a escolha do próximo fragmento, o Azure Logic Apps gera um símbolo e uma previsão para esse fragmento. Se o esquema permitir demasiados construtos, por exemplo, mais de 100.000, a expansão do esquema torna-se muito grande, o que consome demasiados recursos e demasiado tempo.

Carregar esquema

Depois de criar o seu esquema, carregue o esquema com base no seu fluxo de trabalho:

Adicionar uma ação de codificação de ficheiro plano

  1. No portal do Azure, abra seu recurso de aplicativo lógico.

  2. No designer, abre o teu fluxo de trabalho.

    Se o fluxo de trabalho não tiver um gatilho ou quaisquer outras ações necessárias, adicione essas operações primeiro.

    Este exemplo usa o gatilho Request chamado Quando uma solicitação HTTP é recebida. Para adicionar um gatilho, veja Adicionar um gatilho para iniciar o seu fluxo de trabalho.

  3. No designer, siga estes passos gerais para adicionar a ação incorporada chamada Flat File Encoding.

    O painel de informações de ações abre-se com o separador Parâmetros selecionado.

  4. No parâmetro de Conteúdo da ação, forneça o conteúdo XML para codificar, que é produzido pelo gatilho ou de uma ação anterior, seguindo estes passos:

    1. Selecione dentro da caixa de Conteúdo e depois selecione o ícone de relâmpago para abrir a lista dinâmica de conteúdo.

    2. Da lista de conteúdos dinâmicos, selecione o conteúdo XML a codificar.

    O exemplo seguinte mostra a lista de conteúdo dinâmico aberta, a saída do disparador When an HTTP request is received e o conteúdo Body selecionado da saída do disparador.

    A captura de ecrã mostra o portal Azure, o designer de workflow, a ação de codificação de ficheiros planos e o parâmetro de conteúdo, com lista dinâmica de conteúdo e conteúdo selecionados para codificação.

    Nota

    Se Corpo não aparecer na lista de conteúdo dinâmico, ao lado do rótulo da secção Quando um pedido HTTP é recebido , selecione Ver mais. Você também pode inserir diretamente o conteúdo a ser codificado na caixa Conteúdo .

  5. Na lista Schema Name, selecione o seu esquema.

    A captura de ecrã mostra o designer e a lista de Nomes de Esquema aberta com o esquema selecionado para codificação.

    Nota

    Se a lista de esquemas estiver vazia, a causa pode ser:

    • O recurso da aplicação lógica não está ligado a uma conta de integração.
    • A conta de integração ligada não contém ficheiros de esquema.
    • O recurso da app lógica não contém ficheiros de esquema. Esta razão aplica-se apenas a aplicações de lógica padrão.
  6. Para adicionar outros parâmetros opcionais à ação, selecione esses parâmetros da lista de parâmetros Avançados .

    Parâmetro valor Descrição
    Modo de gerar nó vazio ForcedDisabled ou HonorSchemaNodeProperty ou ForcedEnabled O modo a utilizar para a geração de nós vazios com codificação de ficheiro simples.

    No BizTalk, o esquema de ficheiro simples tem uma propriedade que controla a geração de nós vazios. Pode acompanhar o comportamento da propriedade de geração de nós vazios no seu esquema de ficheiro plano. Em alternativa, pode usar esta configuração para que o Azure Logic Apps gere ou omita nós vazios. Para obter mais informações, consulte Tags para elementos vazios.
    Normalização XML Sim ou Não A configuração para habilitar ou desabilitar a normalização XML na codificação de arquivo simples. Para obter mais informações, consulte XmlTextReader.Normalization.
  7. Salve seu fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Adicionar uma ação de descodificação de ficheiro plano

  1. No portal do Azure, abra seu recurso de aplicativo lógico.

  2. No designer, abre o teu fluxo de trabalho.

    Se o fluxo de trabalho não tiver um gatilho ou quaisquer outras ações necessárias, adicione essas operações primeiro.

    Este exemplo usa o gatilho Request chamado Quando uma solicitação HTTP é recebida. Para adicionar um gatilho, veja Adicionar um gatilho para iniciar o seu fluxo de trabalho.

  3. No designer, siga estes passos gerais para adicionar a ação incorporada chamada Flat File Decoding.

  4. No parâmetro Content da ação, forneça o conteúdo XML para descodificar, seja como saída do trigger ou de uma ação anterior, seguindo estes passos:

    1. Selecione dentro da caixa de Conteúdo e depois selecione o ícone de relâmpago para abrir a lista dinâmica de conteúdo.

    2. Da lista de conteúdo dinâmico, selecione o conteúdo XML a decodificar.

    O exemplo seguinte mostra a lista de conteúdo dinâmico aberta, a saída do disparador When an HTTP request is received e o conteúdo Body selecionado da saída do disparador.

    A captura de ecrã mostra o portal Azure, o designer de workflow, a ação de Decodificação de Ficheiros Planos e o parâmetro de Conteúdo com lista dinâmica de conteúdo e conteúdo selecionados para descodificação.

    Nota

    Se Body não aparecer na lista de conteúdo dinâmico, selecione Ver mais ao lado do rótulo da secção Quando um pedido HTTP é recebido. Você também pode inserir diretamente o conteúdo a ser decodificado na caixa Conteúdo .

  5. Na lista Nome do esquema, selecione o seu esquema.

    A captura de ecrã mostra o designer e a lista de Nomes de Esquema aberta com o esquema selecionado para descodificação.

    Nota

    Se a lista de esquemas estiver vazia, a causa pode ser:

    • O recurso da aplicação lógica não está ligado a uma conta de integração.
    • A conta de integração ligada não contém ficheiros de esquema.
    • O recurso da app lógica não contém ficheiros de esquema. Esta razão aplica-se apenas a aplicações de lógica padrão.
  6. Salve seu fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Agora você terminou de configurar sua ação de decodificação de arquivo simples. Em um aplicativo do mundo real, talvez você queira armazenar os dados decodificados em um aplicativo de linha de negócios (LOB), como o Salesforce. Ou, você pode enviar os dados decodificados para um parceiro comercial. Para enviar a saída da ação de decodificação para o Salesforce ou para seu parceiro comercial, use os outros conectores disponíveis nos Aplicativos Lógicos do Azure:

Adicionar uma ação de geração de esquema de ficheiro plano

A ação Geração de Esquema de Ficheiro Plano gera um esquema de ficheiro plano XSD em tempo de execução a partir de conteúdo de ficheiro plano de exemplo que fornece como entrada. O esquema gerado é compatível com anotações de ficheiros planos do BizTalk, como b:schemaInfo, b:recordInfo, e b:fieldInfo.

  1. No portal do Azure, abra seu recurso de aplicativo lógico.

  2. No designer, abre o teu fluxo de trabalho.

    Se o fluxo de trabalho não tiver um gatilho ou quaisquer outras ações necessárias, adicione essas operações primeiro.

    Este exemplo usa o gatilho Request chamado Quando uma solicitação HTTP é recebida. Para adicionar um gatilho, veja Adicionar um gatilho para iniciar o seu fluxo de trabalho.

  3. No designer, siga estes passos gerais para adicionar a ação incorporada chamada Geração de Esquemas de Ficheiros Planos.

  4. No parâmetro Conteúdo da ação, forneça o conteúdo da amostra do ficheiro plano.

    Pode usar conteúdo da saída do gatilho ou de uma ação anterior:

    1. Selecione dentro da caixa de Conteúdo e depois selecione o ícone de relâmpago para abrir a lista dinâmica de conteúdo.

    2. Da lista de conteúdo dinâmico, selecione o conteúdo de ficheiro plano de exemplo.

  5. Defina o parâmetro de estrutura de Registo para Delimitado ou Posicional.

    O projetista utiliza parâmetros dinâmicos (getFlatFileSchemaGenerationParameters) para mostrar o conjunto correto de parâmetros, com base no valor selecionado recordStructure .

    O exemplo seguinte mostra os parâmetros de configuração para a estrutura de registos delimitada :

    Captura de ecrã mostra o portal Azure, o designer de workflow, a ação de geração de esquemas de ficheiros planos e o parâmetro de conteúdo com estrutura de registo delimitada.

    O exemplo seguinte mostra os parâmetros de configuração para a estrutura de registo posicional :

    A captura de ecrã mostra o portal Azure, o designer de workflow, a ação de geração de esquema de ficheiro plano e o parâmetro de conteúdo com estrutura de registo posicional.

  6. Para a estrutura de registos selecionada, defina os parâmetros obrigatórios e opcionais.

    Parâmetros comuns (Delimitados e Posicionais)

    Parâmetro Tipo Obrigatório Descrição
    content Any Yes Conteúdo de dados de amostra em ficheiros planos (string ou binário).
    recordStructure String Yes Delimited ou Positional.
    hasHeader booleano Yes Se true, trata a primeira linha de registo como o cabeçalho e usa esses valores como os nomes dos campos gerados.
    recordDelimiter String No Delimitador de linha de registo. A análise sintética usa este valor literalmente (sem descodificação hexadecimal). Use caracteres reais, como \r\n ou \n. Para usar a divisão de linha por defeito, omita este valor. O XSD gerado pode emitir um valor hexadecimal (0x0D0A) nas anotações de esquema.
    recordDelimiterOrder String No Colocação do delimitador: Infix (padrão), Prefix, ou Postfix.
    rootElementName String No Nome do elemento raiz para o XSD. Padrão: Root.
    targetNamespace String No Espaço de nomes alvo para o esquema. Predefinição: http://schemas.microsoft.com/FlatFile/{RootElementName}
    recordName String No Nome para o elemento de registo filho repetido. Predefinição: {RootElementName}_Record

    Parâmetros específicos delimitados

    Parâmetro Tipo Obrigatório Descrição
    fieldDelimiter String Yes Caracteres delimitadores de campo, como vírgula, ponto e vírgula, tab, Fornecer caracteres reais, como ,, ;, ou \t. A análise sintáctica usa comparação literal de cadeias (sem decodificação hexadecimal).
    fieldDelimiterOrder String Yes Colocação do delimitador: Infix (padrão), Prefix, ou Postfix.
    escapeCharacter String No Caráter de escape para delimitadores incorporados nos valores de campo. Forneça o carácter real, como \ ou ". A análise sintáctica usa correspondência literal (sem decodificação hexadecimal).

    Parâmetros específicos da posição

    Parâmetro Tipo Obrigatório Descrição
    countPositionsByByte booleano Yes Mede os comprimentos dos campos em bytes (true) ou caracteres (false). Relevante para codificações multibyte.
    fieldPositions Array Yes Array de objetos de posição de campo, cada um com length e justification.
    fieldPositions[].length Integer Yes Largura fixa do campo.
    fieldPositions[].justification String Yes Controla o alinhamento do almofadamento. Introduza manualmente o valor Left ou Right (sem distinção entre maiúsculas e minúsculas).

    Nota: O designer atual não fornece uma lista para selecionar um valor.
  7. Antes de executares o fluxo de trabalho, revê o delimitador e o comportamento da personagem de escape:

    Comportamento do delimitador de registos

    Aspect Comportamento
    Análise sintática (divisão de linhas) options.RecordDelimiter (valor bruto de utilizador) passa diretamente para String.Split(). Sem descodificação hexadecimal.
    Saída XSD GetRecordDelimiterForSchema() é convertido da seguinte forma:

    - Se tiver o prefixo 0x-, deixar passar.
    - Se estiver vazio, assume 0x0D0A por predefinição.
    - Caso contrário, converter caracteres literais em bytes hexadecimais.
    Entrada hexadecimal Não para análise sintética. Se fornecer 0x0D0A, a análise sintática tenta dividir com base no texto literal 0x0D0A.
    O que fornecer Utilize os caracteres literais: \r\n, \n ou omita-os completamente, caso em que, por predefinição, a divisão é feita em \r\n/\n/\r.

    Comportamento do delimitador de campo

    Aspect Comportamento
    Análise (divisão de campos) options.FieldDelimiter é passado diretamente para SplitDelimitedRecord() como uma comparação literal de cadeias de caracteres. Sem descodificação hexadecimal.
    Saída XSD Se o valor começar por 0x, emite child_delimiter_type="hex"; caso contrário, "char".
    Entrada hexadecimal Não para análise sintética. 0x09 Corresponde ao texto 0x09literal, não ao tab.
    O que fornecer Usa personagem(s) real(is): ,, ;, \t, |, e assim sucessivamente.

    Comportamento das personagens de fuga

    Aspect Comportamento
    Análise sintática (escapar) options.EscapeCharacter é comparado literalmente. Quando houver correspondência, o carácter seguinte é consumido tal como está. Sem descodificação hexadecimal.
    Saída XSD Se o valor começar com 0x, emite escape_char_type="hex"; caso contrário, "char".
    Entrada em hexadecimal Não para análise sintética. O mesmo comportamento de correspondência literal.
    O que fornecer Use a personagem real, por exemplo, \ ou ".
  8. Salve seu fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

  9. Para usar a saída do esquema gerada para ações de decodificação ou codificação, guarde manualmente esta saída como ficheiro .xsd .

  10. Carrega o .xsd ficheiro na tua conta de integração. Ou, para fluxos de trabalho padrão, carregue o ficheiro na pasta Artefactos do recurso da aplicação lógica. Também pode usar a API REST para carregar o artefacto do esquema.

    O esquema gerado é devolvido no corpo de saída da ação como uma string:

    @body('Flat_File_Schema_Generation')
    
  11. Opcionalmente, use os seguintes exemplos de definição:

    Exemplo delimitado

    {
       "Flat_File_Schema_Generation": {
          "type": "FlatFileSchemaGeneration",
          "runAfter": {},
          "inputs": {
             "content": "@triggerBody()",
             "recordStructure": "Delimited",
             "fieldDelimiter": ";",
             "fieldDelimiterOrder": "Infix",
             "recordDelimiter": "\\r\\n",
             "hasHeader": true,
             "rootElementName": "MerchantOrders",
             "targetNamespace": "http://schemas.contoso.com/FlatFile/MerchantOrders",
             "recordName": "MerchantOrder",
             "escapeCharacter": "\\"
          }
       }
    }
    

    Exemplo de posição

    {
       "Flat_File_Schema_Generation": {
          "type": "FlatFileSchemaGeneration",
          "runAfter": {},
          "inputs": {
             "content": "@triggerBody()",
             "recordStructure": "Positional",
             "fieldPositions": [
                { "length": 6, "justification": "Left" },
                { "length": 5, "justification": "Left" },
                { "length": 3, "justification": "Left" }
             ],
             "countPositionsByByte": false,
             "hasHeader": false,
             "rootElementName": "Ledger",
             "targetNamespace": "http://schemas.contoso.com/FlatFile/Ledger"
          }
       }
    }
    

    Passe o esquema gerado para a ação seguinte:

    {
       "Next_Action": {
          "inputs": {
             "schema": "@body('Flat_File_Schema_Generation')"
          },
          "runAfter": {
             "Flat_File_Schema_Generation": [ "Succeeded" ]
          }
       }
    }
    
  12. Revise a saída, as regras de inferência e os problemas conhecidos:

    Output:

    Property Tipo Descrição
    body String Gerou um esquema XSD compatível com BizTalk como uma string XML.

    Conteúdos XSD gerados de nível superior:

    • b:schemaInfo anotação com standard="Flat File", root_reference, e codepage="65001" (UTF-8)
    • b:recordInfo anotações por registo com structure, child_delimiter, child_delimiter_type, child_order e os opcionais escape_char e escape_char_type
    • b:fieldInfo anotações por campo com justification e, para esquemas posicionais, pos_offset e pos_length
    • Inferência de tipo de dados a partir de dados amostrais: xs:string, xs:integer, xs:decimal, xs:boolean, xs:date, xs:dateTime

    Inferência de tipo de dado a partir do primeiro registo de dados não vazio:

    Valor da amostra Tipo XSD inferido
    true ou false xs:boolean
    12345 xs:integer
    19.99 xs:decimal
    2025-01-15 xs:date
    2025-01-15T10:30:00 xs:dateTime
    Qualquer outro valor xs:string

    Ordem do filho (colocação do delimitador):

    Order Meaning Exemplo (;)
    Infix Delimitador entre campos A;B;C
    Prefix Delimitador antes de cada campo ;A;B;C
    Postfix Delimitador após cada campo A;B;C;

    Gestão de cabeçalhos:

    • Quando hasHeader é true, a primeira linha é tratada como nomes de campos, não como dados.
    • Os valores do cabeçalho são higienizados para nomes válidos de elementos XML. Os caracteres especiais tornam-se _, e os dígitos iniciais recebem um _ prefixo.
    • Se existir apenas uma linha de cabeçalho e não existirem registos de dados, os campos por defeito são xs:string.
    • Se um campo de cabeçalho estiver em branco, o nome do campo gerado recorre a Field{N}.
    • Quando hasHeader é false, os campos são automaticamente nomeados Field1, Field2, Field3 e assim sucessivamente.

Limitações e problemas conhecidos

Limitação Descrição
A inferência de tipo utiliza um único registo. O primeiro registo de dados não vazio determina os tipos de coluna.
Apenas um tipo de registo A ação gera uma estrutura de registo repetida e não suporta layouts heterogéneos de registos.
Sem registos aninhados ou hierárquicos O esquema gerado é plano, o que significa que tens um elemento raiz com um registo filho repetitivo e campos.
Os limites posicionais não são detetados automaticamente. Você deve fornecer os comprimentos exatos dos campos em fieldPositions.
Apenas página de código UTF-8 Conjuntos de esquemas gerados codepage="65001" e não disponibilizam a seleção da codificação.
O comportamento das personagens de fuga é literal. O processamento de escapes faz corresponder o valor literal e salta apenas o carácter seguinte.
recordName Padrão Se não for especificado, o padrão será {RootElementName}_Record.
Entrada de justificação do designer fieldPositions[].justification suporta apenas Left e Right.
Issue Resolução
Contagem errada de campos Verifique se fieldDelimiterOrder corresponde ao seu formato de dados (Infix, Prefix, Postfix).
Os valores hexadecimais são apenas para visualização Embora o XSD gerado possa mostrar delimitadores como valores hexadecimais (por exemplo, 0x0D0A) e passar por 0xvalores com prefixo - em anotações, a análise não decodifica a entrada hexadecimal. Para análise sintática, forneça sempre caracteres delimitadores reais (\r\n, \n, \t, ,, ;).
Os nomes dos campos do cabeçalho parecem inesperados Os valores dos cabeçalhos são suavizados para nomes XML válidos. Por exemplo, 1st Qty passa a _1st_Qty.
Comportamento do delimitador de registos Se recordDelimiter for omitido, o analisador sintático separa com base nos caracteres reais de nova linha (\r\n, \n, \r). Nas anotações XSD geradas, o delimitador de registo predefine-se como 0x0D0A.

Solucionar problemas

Erro Motivo Resolução
The flat file sample data content is required. content é nulo ou vazio. Certifique-se de que o accionador ou a ação anterior fornecem conteúdo de ficheiro simples não vazio.
The schema generation options are required. Erro interno: o objeto options é nulo. Verifique se a definição do fluxo de trabalho contém entradas válidas.
Failed to generate flat file schema: '{details}'. Erro inesperado em tempo de execução, por exemplo, codificação ou dados deformados. Inspecione os detalhes ou a mensagem de erro interna para a causa raiz.
The field delimiter is required for delimited record structure. recordStructure é Delimited mas fieldDelimiter está em falta ou vazia. Forneça fieldDelimiter, por exemplo, vírgula, ponto e vírgula ou tab. Não forneça texto hexadecimal como 0x09; forneça caracteres reais como \t.
The field positions array is required for positional record structure. recordStructure é Positional mas fieldPositions está em falta ou vazia. Forneça fieldPositions com os valores de length e justification para cada campo.
The flat file sample data contains no data records. Não existem linhas de dados não vazias (ou apenas cabeçalho quando hasHeader=true). Forneça pelo menos um registo de dados não vazio no conteúdo de amostra.
Positional field '{N}' exceeds the record length. Record length: '{len}', position: '{pos}', field length: '{fieldLen}'. O comprimento total do campo ultrapassa o comprimento recorde. Ajuste os comprimentos de fieldPositions ou verifique se countPositionsByByte deve ser alterado.

Testar o fluxo de trabalho

Para acionar seu fluxo de trabalho, siga estas etapas:

  1. No gatilho Request , encontre o parâmetro HTTP POST URL e copie o URL.

  2. Abra sua ferramenta de solicitação HTTP e use suas instruções para enviar uma solicitação HTTP para a URL copiada, incluindo o método esperado pelo gatilho de solicitação .

    Este exemplo usa o POST método com a URL.

  3. Inclua o conteúdo XML que você deseja codificar ou decodificar no corpo da solicitação.

  4. Depois de terminar o seu fluxo de trabalho, vá ao histórico de execuções do fluxo de trabalho e examine as entradas e saídas da ação Flat File .