Olá SDN'ers,
Estou com um problema muito estranho com um Módulo de Adaptador adicional que desenvolvi.
Meu cenário é: IDOC -> JDBC (Oracle)
Bem, para resumir, antes do receptor JDBC poder escrever meus dados no banco de dados, eu tenho que fazer (dentro do canal) um mapeamento em Java para produzir um documento XML que seja aceitável para ele. Então, no meu módulo, eu manipulo a carga através do DOM. Não há problema aqui.
A história estranha é: na primeira tentativa, o Adaptador falha (ver erro abaixo), enquanto depois de 5 minutos, ao tentar automaticamente novamente, ele tem sucesso.
Apenas porque coloquei algumas coisas no registro de auditoria de mensagens, o que posso dizer é esta coisa estranha:
1. no início, não há nenhum documento XML na carga, mas em vez disso há esta string:
org.apache.crimson.tree.XmlDocument@745501c6
que parece ser um toString() de algo que não utilizo diretamente (ou não sei como usar)
2. na segunda tentativa, mesmo no registro de auditoria, consigo ver o documento XML bem formado pronto para o adaptador JDBC, e de fato os dados são escritos no banco de dados.
?? O QUE PODERIA CAUSAR ISSO ??
Também observo que no sentido contrário (JDBC->IDOC) com outro módulo muito semelhante funciona perfeitamente.
Obrigado.
Alex
<b>A entrega da mensagem para a aplicação utilizando a conexão AFW falhou, devido a: OCORREU UM ERRO ao analisar a solicitação: com.sap.engine.lib.xml.parser.NestedSAXParserException: Erro fatal: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Não é permitido dados aqui: (hex) 6f, 72, 67(:main:, linha:1, coluna:3)(:main:, linha=1, col=3) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: Não é permitido dados aqui: (hex) 6f, 72, 67(:main:, linha:1, coluna:3).</b>
P.S. -> 6f, 72, 67 é "org", que são as três primeiras letras da carga estranha que recebo na primeira tentativa.