Business Message Stuck in MSG_WAIT_FA for Retry Count = 0

(Doc ID 1982534.1)

Last updated on NOVEMBER 19, 2016

Applies to:

Oracle SOA Suite - Version 11.1.1.7.0 and later
Information in this document applies to any platform.

Symptoms

On : 11.1.1.7.0 version, B2B Engine

ACTUAL BEHAVIOR
---------------
If a 997 document is purposely not sent by a trading partner in response to receipt of an 850 document, given the following agreement level parameter settings, the status of the 850 message remains in MSG_WAIT_FA state after 1 minute:

- Functional Ack (checked)
- Document Retry Interval: 1
- Document Retry Count: 0

But with the following settings, B2B functions as expected, moving the 850 message to MSG_ERROR after 3 retry attempts at 1 minute intervals:

- Functional Ack (checked)
- Document Retry Interval: 1
- Document Retry Count: 3

EXPECTED BEHAVIOR
-----------------------
With retry count set to 0, B2B should change the message state to MSG_ERROR after 1 minute.


STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1) Through the EM Console on one B2B instance, say GlobalChips, set b2b.checkDuplicate to false and restart the SOA server.
2) On Globalchips, Configure the Acme delivery channel:

- Transport Protocol Parameters -> Url
- Exchange Protocol Parameters -> Receipt Delivery Option (Ack Mode: Async)

3) Configure the GlobalChips delivery channel on the other B2B instance, say Acme:

- Transport Protocol Parameters -> Url
- Exchange Protocol Parameters -> Receipt Delivery Option (Ack Mode: Async)

4) On Acme, configure an document agreement, say Acme_GlobalChips_X12_4010_850_AS2, as follows and deploy:

Document Retry Interval: 1
Document Retry Count: 0

5) On Acme, deploy a 997 agreement, say GlobalChips_Acme_X12_4010_997_AS2.
6) On GlobalChips, deploy an agreement, say Acme_GlobalChips_X12_4010_850_AS2.
7) Enqueue outbound message from Acme side using the B2B Enqueue Utility.
8) Checking the Business Message Report on the Acme side after at least one minute, you find the state of the 850 message is MSG_WAIT_FA. It remains in this state, and does not go to MSG_ERROR, as expected. This is the issue.
9) Now purge the messages in both instances.
10) For agreement Acme_GlobalChips_X12_4010_850_AS2 on Acme, change the settings as indicated and redeploy:

Document Retry Interval: 1
Document Retry Count: 3

11) Enqueue another outbound message from Acme side using the B2B Enqueue Utility.
12) Checking the Business Message Report from Acme after at least 4 minutes, you find 4 acknowledgements and one 850 message in state MSG_ERROR, as expected.

Cause

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