AS2 Receive Components
BizTalk Server uses several components to receive AS2 messages.
AS2 Receive Pipelines
Most AS2 receive processing is performed in the following AS2 receive pipelines. These pipelines are installed in Microsoft.BizTalk.EdiInt.PipelineComponents.dll
in \Program Files\Microsoft BizTalk Server 20xx\Pipeline Components\.
AS2EdiReceive Pipeline
This pipeline processes EDI messages received over AS2, including MDNs. The pipeline consists of the following pipeline components:
AS2 Decoder
EDI Disassembler
BatchMarker.
Note
When using the AS2EdiReceive pipeline, you must add the user account that the BizTalk Isolated Host Instance process is running under to the BizTalk Application Users group. The AS2EdiReceive pipeline executes in the BizTalk Isolated Host Instance process. The AS2EdiReceive pipeline accesses the SSO store, which requires that the user is in the BizTalk Application Users group.
AS2Receive Pipeline
This pipeline processes messages received over AS2 when the messages are not encoded in EDI. These messages are treated as binary messages. The pipeline also processes MDNs received over AS2. The pipeline consists of the following pipeline components:
AS2 Decoder
AS2 Disassembler.
AS2 Receive Pipeline Components
The AS2 receive pipelines use the following pipeline components. These components are installed in Microsoft.BizTalk.EdiInt.PipelineComponents.dll
in \Program Files\Microsoft BizTalk Server 20xx\Pipeline Components\.
Note
The AS2 Receive pipeline is only supported in a 32-bit BizTalk Host process.
AS2 Decoder
The AS2 Decoder is included in the decode stage of both the AS2EDIReceivePipeline and AS2Receive receive pipelines. It uses the BizTalk S/MIME Pipeline Component to provide S/MIME decoding functionality to AS2 and MDN messages.
Processes AS2/HTTP headers
Verifies the signature, if the message was signed
Decrypts the messages, if the message was encrypted (for an EDI/AS2 message, not an MDN)
Decompresses the message, if the message was compressed
Reconciles a received MDN with the original outbound message
Updates and correlates records in the non-repudiation database
Writes records for AS2 status reporting
Note
If an error occurs during receive-side processing of an AS2 message, the AS2 Decoder will stop further downstream message processing (for example, the EDI disassembler will not parse the interchange). However, the AS2 Disassembler or EDI Disassembler must still generate the MDN.
Note
Eight-bit encoding is used on AS2 messages. Base64 encoding is only applied to signatures in AS2 messages and MDNs.
AS2 Disassembler
In the AS2Receive receive pipeline, the AS2 Disassembler does the following:
Determines whether an MDN is required, and whether the MDN should be synchronous or asynchronous.
Generates an AS2 MDN.
If the MDN is synchronous, sets the
EdiIntAS.IsAS2AsynchronousMDN
property to False; if asynchronous, sets the property to True.Sets the correlation tokens and properties on the MDN.
EDI Disassembler
In the AS2EDIReceivePipeline, the EDI Disassembler will parse the EDI message into intermediate XML message(s) for processing. For more information, see How the EDI Disassembler Works.
BatchMarker
In the AS2EDIReceivePipeline, the BatchMarker pipeline component sets the AgreementPartIdForSend and ToBeBatched context properties that are required for processing a batched interchange. This component is included in the last stage (agreement resolution) of the AS2EDIReceive pipeline. All pipelines that will batch EDI messages should include the BatchMarker pipeline component.
Note
The BatchMarker pipeline component is not included in the AS2Receive pipeline that is used to process non-EDI messages. However, you can include the BatchMarker component in a custom receive pipeline that does not include the EDI Dissassembler. For more information, see "Processing Non-EDI Messages in the BatchMarker Component" in Assembling a Batched EDI Interchange.
HTTP Adapter
The receive ports and locations used for AS2 processing use the BizTalk Server HTTP Adapter. The HTTP Adapter is configured for either one-way and request-response transmission.
Non-Repudiation Database
BizTalk Server uses the non-repudiation database (the EdiMessageContent table of the BizTalkDTADb database) to do the following:
Note
The EdiMessageContent table exists in the BizTalkDTADb database only if one of the non-repudiation storage agreement properties has been checked.
Provides a non-repudiation trail for signed MDN
Correlates an outbound message with its incoming MDN
Stores messages through various state changes
Associates error codes with HTTP Response and MDN
Displays records based on filter criteria
Archives marked records.
Important
To ensure authentication and integrity of messages stored in the non-repudiation receipt database, digital signatures should be used on all messages that will be stored in the database, both original AS2 messages and MDNs. For more information, see section 9.1 of RFC 1430, "MIME-Based Secure Peer-to-Peer Business Data Interchange Using HTTP, Applicability Statement 2 (AS2)" (https://go.microsoft.com/fwlink/?LinkID=184212).