Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-15747

FHIR transaction integration stopped working after the AtlasMap update

    XMLWordPrintable

Details

    Description

      One of our integration which uses FHIR transaction step stopped working after the AtlasMap update. I don't know whether that is a bug or I should change something in the integration. In data mapper, the mapping is the same.

      The integration has the following error in the log:

      Stacktrace
      ---------------------------------------------------------------------------------------------------------------------------------------
      
      io.atlasmap.api.AtlasException: Errors: [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:id/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:name/tns:given/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:name/tns:family/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Basic/tns:id/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Basic/tns:language/@tns:value'], 
      	at org.apache.camel.component.atlasmap.AtlasEndpoint.onExchange(AtlasEndpoint.java:243) ~[camel-atlasmap-2.1.4.jar!/:2.1.4]
      	at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at io.syndesis.integration.runtime.tracing.TracingInterceptStrategy$EventProcessor.process(TracingInterceptStrategy.java:80) [integration-runtime-1.12.0-20210209.jar!/:1.12.0-20210209]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:197) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:79) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at java.util.TimerThread.mainLoop(Timer.java:555) [na:1.8.0_191]
      	at java.util.TimerThread.run(Timer.java:505) [na:1.8.0_191]
      
      2021-02-09 12:56:24.550  WARN 1 --- [r://integration] o.a.camel.component.timer.TimerConsumer  : Error processing exchange. Exchange[i-MT5rJQEbRM0AUbMf2Pkz]. Caused by: [io.atlasmap.api.AtlasException - Errors: [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:id/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:name/tns:given/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:name/tns:family/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Basic/tns:id/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Basic/tns:language/@tns:value'], ]
      
      io.atlasmap.api.AtlasException: Errors: [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:id/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:name/tns:given/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Patient/tns:name/tns:family/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Basic/tns:id/@tns:value'], [Failed to write field value into target document: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. : docId='-MT5pwFQdciq61nmn53T', path='/tns:Transaction//tns:Basic/tns:language/@tns:value'], 
      	at org.apache.camel.component.atlasmap.AtlasEndpoint.onExchange(AtlasEndpoint.java:243) ~[camel-atlasmap-2.1.4.jar!/:2.1.4]
      	at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at io.syndesis.integration.runtime.tracing.TracingInterceptStrategy$EventProcessor.process(TracingInterceptStrategy.java:80) ~[integration-runtime-1.12.0-20210209.jar!/:1.12.0-20210209]
      	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) ~[camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:197) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:79) [camel-core-2.23.2.fuse-780030.jar!/:2.23.2.fuse-780030]
      	at java.util.TimerThread.mainLoop(Timer.java:555) [na:1.8.0_191]
      	at java.util.TimerThread.run(Timer.java:505) [na:1.8.0_191]
      

      The integration works on Syndesis version 20210201 but doesn't work on Syndesis version 20210209 (after AtlasMap 2.1.4 update). I have upload logs and integration to the attachments (old == 20210201 , new == 20210209) .

      I can set up Syndesis (old or new one) with that integration on our cluster for debugging if it is needed (ping me on gChat).

      Attachments

        1. FHIR_transaction.png
          FHIR_transaction.png
          231 kB
        2. FHIR_transaction-export_new.zip
          100 kB
        3. FHIR_transaction-export_old.zip
          100 kB
        4. fhir-integration-log-new
          1.74 MB
        5. fhir-integration-log-old
          1.65 MB

        Activity

          People

            toigaras@redhat.com tomohisa igarashi
            mkralik@redhat.com Matej Kralik
            Matej Kralik Matej Kralik
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: