SOA Suite for Healthcare: Multiple Messages with Incorrect MSG_WAIT_FA
Last updated on JANUARY 04, 2017
Applies to:Oracle SOA Platform – B2B (Business to Business) - Version 126.96.36.199.0 and later
Information in this document applies to any platform.
SOA Suite for HC Integration, outbound communication: several outbound messages remain in status MSG_WAIT_FA despite the fact that the ACKs were received.
2. Problem Definition
An outbound stream of 30 HL7 ADT messages is responded to with a stream of ACKs. In a real life scenario the message with PID=x, PID=y and PID=z [PID x,y,z ordered ASC] is never responded to with an ACK i.e. ACK was never sent by the target app for these messages.
EXPECTED SSHI BEHAVIOR:
The expected behavior of SOA Suite Healthcare Integration platform in the scenario is that the outbound HL7 stream would be paused after sending the message PID=x and awaiting the ACK. Upon receiving the ACK the consecutive messages will be sent and each message will receive ACK, until the message PID=y for which the ACK will be missing again and the stream will pause again. The same scenario will repeat for message PID=z. The expectation is that after resending each wire message [with resubmit WIRE message feature] being in MSG_WAIT_FA status and receiving the ACK the status of the message changes from MSG_WAIT_FA to MSG_COMPLETE and the stream moves on. At any point of time there should be maximum of only 1 message with the MSG_WAIT_FA for a given outbound endpoint. Each message stacked behind the current message MSG_WAIT_FA should be in MSG_WAIT_TRANSMIT state.
ACTUAL SSHI BEHAVIOR:
The undesired behavior is manifested by the fact that at some point there are multiple messages in the MSG_WAIT_FA status which is incorrect. It seems that some messages in state MSG_WAIT_FA do not change their status correctly to MSG_COMPLETE despite the fact the ACK for these messages was received. For instance, the incorrect state is when the 3rd message is in state MSG_WAIT_FA and the 4th message is in state MSG_COMPLETE. The only correct combination is for the 3rd message to be in state MSG_WAIT_FA and the 4th message in state MSG_WAIT_TRANSMIT.
Importantly the same scenario used with the outbound document retry feature leads to resending messages for which the ACK were received and breaking the FIFO stream.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms