Hola SDN'ers,
Tengo un problema muy extraño con un Módulo de Adaptador adicional que desarrollé.
Mi escenario es: IDOC -> JDBC (Oracle)
Bueno, para resumir, antes de que el receptor JDBC pueda escribir mis datos en la base de datos, tengo que hacer (dentro del canal) un mapeo en Java para producir un documento XML que sea aceptable para él. Así que en mi módulo manipulo la carga a través de DOM. No hay problema aquí.
La historia extraña es: en el primer intento, el Adaptador falla (ver error a continuación), mientras que después de 5 minutos, al intentarlo automáticamente de nuevo, tiene éxito.
Solo porque puse algunas cosas en el registro de auditoría de mensajes, lo que puedo decirles es esta cosa rara:
1. al principio, no existe ningún documento XML en la carga, sino que en su lugar hay esta cadena:
org.apache.crimson.tree.XmlDocument@745501c6
que parece ser un toString() de algo que no uso directamente (o no sé cómo usarlo)
2. en el segundo intento, incluso en el registro de auditoría puedo ver el documento XML bien formado listo para el adaptador JDBC, y de hecho los datos se escriben en la base de datos.
?? ¿QUÉ PODRÍA CAUSAR ESTO ??
También decir que en sentido contrario (JDBC->IDOC) con otro módulo muy similar funciona perfectamente.
Gracias.
Alex
<b>La entrega del mensaje a la aplicación utilizando la conexión AFW falló, debido a: SE PRODUJO UN ERROR al analizar la solicitud: com.sap.engine.lib.xml.parser.NestedSAXParserException: Error fatal: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No se permite datos aquí: (hex) 6f, 72, 67(:main:, fila:1, col:3)(:main:, fila=1, col=3) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: No se permite datos aquí: (hex) 6f, 72, 67(:main:, fila:1, col:3).</b>
P.S. -> 6f, 72, 67 es "org", que son las tres primeras letras de la carga extraña que obtengo en el primer intento.