Solução de problemas de operação no Jitterbit Integration Studio
Introdução
Caso você tenha problemas ao executar uma operação, as seguintes ações de solução de problemas são recomendadas.
Teste a conexão
Para qualquer operação que utilize conectores, na conexão, clique no botão Testar para garantir que a conexão seja bem-sucedida.
Para Connector SDK conectores baseados em implantados em operações executadas em agentes privados, clicar no botão Testar garante que a versão mais recente do conector seja baixada para o agente (a menos que esteja usando a Desativar atualização automática do conector política da organização).
Verifique os registros de operação
Verifique os registros de operação para qualquer informação escrita durante a execução da operação.
Dependendo do tipo de agente, você pode fazer o seguinte para recuperar arquivos de log e dados adicionais:
- Habilitar registro de depurar de operação (para agentes de nuvem ou para agentes privados)
- Habilitar registro detalhado do conector (somente agentes privados)
- Verifique os registros do agente (somente agentes privados)
Possíveis erros nos registros de operação
As seções a seguir abordam erros que podem estar presentes em um log de operação e sua resolução.
Aviso de subelemento extra
Um extra subelement
O aviso nas mensagens de log geralmente pode ser ignorado. Este aviso indica que a payload da API de um conector retornou mais nós ou campos de dados do que aqueles definidos no esquema de dados de resposta.
Caracteres não permitidos em mapeamentos de esquema XML
Dependendo da atividade do conector, esses caracteres serão inválidos e resultarão em um erro de tempo de execução:
\x00 (NULO) | \x0E (mudar para fora) |
\x01 (início do título) | \x0F (mudança para dentro) |
\x02 (início do texto) | \x1A (caractere substituto) |
\x03 (fim do texto) | \x1B (fuga) |
\x04 (fim da transmissão) | \x1C (separador de arquivo, separador de informações quatro) |
\x05 (consulta) | \x1D (separador de arquivo, separador de informações três) |
\x06 (reconhecer) | \x1E (separador de arquivo, separador de informações dois) |
\x07 (sino) | \x1F (separador de arquivo, separador de informações um) |
\x08 (backspace) | \xD800 para \xDFFF (personagens substitutos altos UTF-16) |
\x0B (aba vertical) | \xFFFE |
\x0C (avanço de formulário) | \xFFFF |
Quando os dados de entrada ou saída fornecidos ou retornados de uma transformação adjacente a uma atividade de conector baseada em XML contêm um dos caracteres acima, um erro específico referenciando esse caractere é retornado em tempo de execução. Por exemplo, quando o \x1E
caractere de controle está presente na transformação de resposta para a Epicor Kinetic Obter atividade BAQ, este erro é retornado em tempo de execução:
The Exception is Invalid white space character (0x1e) in text to output
Elementos XML não suportados quando incorporados em JSON
Seções de dados de caracteres (CDATA) não são suportados com XML incorporado em JSON destinado a ser enviado por meio de uma transformação. Incluir seções CDATA pode fazer com que o seguinte erro apareça em um log de operação em tempo de execução:
Transformation failed. Error: The operation "Operation" failed.
Error: Failed to convert XML file to JSON.
org.jitterbit.integration.server.engine.EngineSessionException: org.xml.sax.SAXParseException ...
Para contornar isso, use um script Jitterbit para Replace
o &
, <
, >
, '
, e "
caracteres de toda a seção CDATA, incluindo sua definição (<![CDATA[ ... ]]>
), com &
, <
, >
, &apos
, "
respectivamente. Se necessário, toda a string XML contendo a seção CDATA pode ser substituída, caso a segmentação da seção não seja adequada ao seu caso de uso.
O exemplo a seguir é considerado inválido sem substituições:
{
"name": "Jitterbit",
"data": "<xml><content><![CDATA[<greeting>Hello, world!</greeting>]]></content></xml>"
}
Reprocessamento de esquemas XML espelhados
Devido a alterações feitas nas versões Harmony 10.25 e 10.27, você pode observar comportamentos diferentes em projetos criados antes dessas versões. Essas alterações afetam esquemas XML que foram espelhados e têm maior probabilidade de impactar mapeamentos que usam funções XML que envolvem namespaces, como o SelectNodes
função. Nesse caso, mapeamentos que antes eram válidos podem agora ser inválidos devido a um erro relacionado à sintaxe da função XML.
Compare as diferenças entre este esquema XML espelhado de exemplo anterior à versão 10.25 com um criado na versão 10.25 ou posterior:
- Exemplo de Esquema XML anterior à versão 10.25: Em projetos criados antes da versão 10.25, esquemas XML espelhados usam o prefixo de namespace padrão para documentos XML:
xsi
. Conforme mostrado destacado em vermelho acima,xmlns:xsi
declara que o namespace e os campos não mapeados são exibidos no esquema com o atributoxsi:nil="true"
. - Exemplo de esquema XML na versão 10.25 e posterior: Em projetos criados na versão 10.25 e posterior e destacados em verde acima, os esquemas XML espelhados usam o prefixo de namespace
ns
para declarar um namespace qualificado. Campos não mapeados não são exibidos no esquema.
Nas versões 10.25 e 10.26, se você importou um projeto com um esquema XML espelhado que foi criado antes da versão 10.25, o esquema foi reprocessado e alterado para usar o prefixo de namespace qualificado.
A partir da versão 10.27, os projetos importados cujos esquemas XML espelhados foram criados antes da versão 10.25 mantêm o prefixo de namespace do esquema XML padrão, para que o esquema seja idêntico ao de quando foi criado. Essa alteração significa que todos os projetos anteriores à versão 10.25 importados para a versão atual devem funcionar conforme o projeto original.
Para forçar uma atualização de um esquema XML anterior à versão 10.25 para usar o prefixo de namespace atualizado, você pode regenerar o esquema atualizando-o ou reconfigurando a atividade que fornece o esquema.