Uploaded image for project: 'PatientManager'
  1. PatientManager
  2. PAM-303

PAM automaton crashes when the received ACK does not use the 2.5 version of HL7

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 9.3.1
    • Fix Version/s: 9.4.4
    • Component/s: Automaton
    • Labels:
      None
    • Account:
      InteropSante-BP6 (INTEROPBP6)

      Description

      When you run the automaton against a system which sends ACK with another version than HL7v2.5, the automaton crashes without giving any information to the end user.
      Recommandation: add a try/catch for ClassCastException and if the exception is thrown, to not fill out the "ack type code" attribute for this message.


      Logs:
      2016-05-19 10:29:46,933 ERROR () [org.jboss.as.ejb3.invocation] (DefaultQuartzScheduler_Worker-2 ) JBAS014134: EJB Invocation failed on component GraphWalkerAsyncExecution for method public abstract void net.ihe.gazelle.simulator.pam.automaton.Manager.GraphWalkerAsyncExecutionInterface.asyncRun(net.ihe.gazelle.simulator.pam.automaton.model.graph.GraphExecutionResults,net.ihe.gazelle.simulator.pam.iti31.model.Encounter): javax.ejb.EJBException: java.lang.ClassCastException: ca.uhn.hl7v2.model.v231.message.ACK cannot be cast to ca.uhn.hl7v2.model.v25.message.ACK
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:165) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:250) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:315) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:214) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) [jboss-as-ejb3-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182) [jboss-as-ee-7.2.0.Final.jar:7.2.0.Final]
      at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
      at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee-7.2.0.Final.jar:7.2.0.Final]
      at net.ihe.gazelle.simulator.pam.automaton.Manager.GraphWalkerAsyncExecutionInterface$$$view61.asyncRun(Unknown Source) [PAMSimulator-ejb.jar:9.3.1]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_101]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_101]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_101]
      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_101]
      at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.async.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:52) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54) [jboss-seam.jar:2.3.1.Final]
      at org.javassist.tmp.java.lang.Object_$$_javassist_seam_37.asyncRun(Object_$$_javassist_seam_37.java)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_101]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_101]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_101]
      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_101]
      at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.async.AsynchronousInvocation$1.process(AsynchronousInvocation.java:62) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.async.Asynchronous$ContextualAsynchronousRequest.run(Asynchronous.java:80) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.async.AsynchronousInvocation.execute(AsynchronousInvocation.java:44) [jboss-seam.jar:2.3.1.Final]
      at org.jboss.seam.async.QuartzDispatcher$QuartzJob.execute(QuartzDispatcher.java:243) [jboss-seam.jar:2.3.1.Final]
      at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-1.6.5.jar:1.6.5]
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525) [quartz-1.6.5.jar:1.6.5]
      Caused by: java.lang.ClassCastException: ca.uhn.hl7v2.model.v231.message.ACK cannot be cast to ca.uhn.hl7v2.model.v25.message.ACK
      at net.ihe.gazelle.simulator.pam.automaton.report.TestStep.setAckAndErrorMessage(TestStep.java:134) [PAMSimulator-ejb.jar:9.3.1]
      at net.ihe.gazelle.simulator.pam.automaton.Manager.DataObserver.sendMessage(DataObserver.java:138) [PAMSimulator-ejb.jar:9.3.1]
      at net.ihe.gazelle.simulator.pam.automaton.Manager.DataObserver.addCurrentTestStepTransaction(DataObserver.java:87) [PAMSimulator-ejb.jar:9.3.1]
      at net.ihe.gazelle.simulator.pam.automaton.Manager.DataObserver.update(DataObserver.java:72) [PAMSimulator-ejb.jar:9.3.1]
      at org.graphwalker.core.machine.MachineBase.notifyObservers(MachineBase.java:72) [graphwalker-core-3.3.0.jar:]
      at org.graphwalker.core.machine.SimpleMachine.getNextStep(SimpleMachine.java:96) [graphwalker-core-3.3.0.jar:]
      at org.graphwalker.java.test.TestExecutor.execute(TestExecutor.java:194) [graphwalker-java-3.3.0.jar:]
      at org.graphwalker.java.test.TestExecutor.execute(TestExecutor.java:181) [graphwalker-java-3.3.0.jar:]
      at net.ihe.gazelle.simulator.pam.automaton.Manager.GraphWalkerAsyncExecution.asyncRun(GraphWalkerAsyncExecution.java:66) [PAMSimulator-ejb.jar:9.3.1]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_101]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_101]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_101]
      at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_101]
      at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:7

        Attachments

          Activity

            People

            • Assignee:
              xfrancois Xavier FRANCOIS (Inactive)
              Reporter:
              aberge Anne-Gaelle Berge
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2 hours
                2h
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 hours
                2h

                  Potential Duplicates