Symptoms
The Minimal Lower Layer Protocol MLLP) send port checks the acknowledgment (ACK) code in the ACK (that is, the MSA.1_AcknowledgmentCode field of the MSA segment) that's returned by the downstream system and compares it with the acceptable ACK codes that are set in the MLLP send port's configuration properties. The ACK codes that are currently supported by MLLP send port are as follows:
-
AA
-
CA
-
AE
-
CE
-
AR
-
CR
You can select all ACK codes or a combination of them. For example, the following codes are all valid:
-
AA and CA
-
AA, CA, AE, and CE
-
AA, CA, AR, and CR
-
The custom codes should be separated by a comma (,). For example: AE,CE,AR,CR,XX,ZZ.
-
If one of the standard combinations (a non-custom option) is selected, you do not have to enter any values in the Acceptable Custom ACK Codes property.
-
To make sure that the pipeline validation succeeds for the custom ACK codes, you must add the required custom ACK codes to the corresponding ACK schema.
-
You can use the BizTalk Tracking feature (by enabling tracking) to track the message by using the MessageID property that is logged in the event log when the message is retried or suspended.
Resolution
Cumulative update information
This issue was first fixed in the following cumulative update of BizTalk Server:
For this feature
The new feature applies to send ports only. After you install the hotfix, the behavior will be based on the acceptable ACK code that you select in the drop-down list instead of the code that is provided by the downstream system.
The MLLP send port checks the ACK code in the ACK (MSA.1_AcknowledgmentCode field of MSA segment) that is returned by the downstream system and compares it with the acceptable ACK codes that are set in the MLLP send port's configuration properties. Current acceptable ACK codes that are supported by the MLLP send port include AA, CA, AE, CE, AR, and CR. You can select all ACK codes or a combination of them. For example, you can select the following as valid:-
AA and CA
-
AA, CA, AE, and CE
-
AA, CA, AR and CR
However, there is no option to enter an acceptable ACK code combination.
-
AA, CA: Retries AE, CE, AR, and CR, and suspends any other.
-
AA, CA, AE, CE: Accepted and successful: AA, CA, AE, and CE, and retries AR and CR. Suspends any other.
-
AA, CA, AR, CR: Accepted and successful: AA, CA, AR, and CR, and retries AE and CE. Suspends any other.
-
AA, CA, AR, CR, AE, CE: Accepted and successful: AA, CA, AR, CR, AE, and CE, and no other is returned. ACK is retried, and message is suspended.
-
Custom (values are entered and separated by a comma): Example: AA, AE, Foo, ZZ, ZZZ. Accepted and successful: AA, CA, and AE, plus any other entered custom ACK such as, in this case, Foo, ZZ, or ZZZ . Retries CE, AR.
-
Any ACK code that's not specified in Acceptable Custom ACK Codes is not retried and is suspended.
When a standard ACK is not entered under Acceptable ACK Codes, an error that resembles the following is returned:
The adapter failed to transmit message going to send port "<SendPortName>" with URL "127.0.0.1:33000". It will be retransmitted after the retry interval specified for this Send Port. Details:"Message with MessageID: <MessageID>, received with acknowledgement type: Error and with ACK code: CE.
More Information
Prerequisites to install the software update
To apply this hotfix, you must have the following software installed:
-
Microsoft BizTalk Server 2013 R2
-
Microsoft BizTalk 2013 R2 Accelerator for HL7
Restart requirements
You do not have to restart the computer after you apply this hotfix. However, we recommend that you close and reopen the BizTalk Admin Console after hotfix installation.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
For more information about BizTalk Server hotfixes, see Information about BizTalk Server hotfixes. Learn about the standard terminology that's used to describe Microsoft software updates.