Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Error dispositions

The disposition field of an MDN describes the outcome. as2d emits and understands the standard set; this table is what as2d sends and what each value means to your partner (and vice versa when reading partners’ receipts).

DispositionClassWhen as2d sends it
processedsuccessmessage fully processed and stored
processed/error: authentication-failederrorAS2-From/AS2-To matched no partnership
processed/error: insufficient-message-securityerrorrequired signing/encryption layer missing (security floor)
processed/error: decryption-failederrorcould not decrypt (wrong certificate, incompatible cipher, corrupt data)
processed/error: integrity-check-failederrorsignature verification failed
processed/error: decompression-failederrorbad ZLIB data, or double compression
processed/error: error-storing-transactionerrorstorage backend failure (retryable by the partner)
processed/error: unexpected-processing-errorerroranything else
failed/Failure: unsupported formatfailurereceipt requested with an unsupported signature protocol
failed/Failure: unsupported MIC-algorithmsfailurereceipt requested with only unsupported digests, marked required
failed/Failure: unable to sign MDNfailuresigned receipt requested but our signing identity is unusable
failed/Failure: unsupported receipt-delivery-optionfailureasynchronous receipt requested but not available on this deployment

Notes for integrators:

  • error vs failure: processed/error means the message failed a processing step; failed/Failure means the receipt request itself could not be honored (RFC 4130 §7.5.3) — the message is not processed in that case either, and the partner should fix the request and resend.
  • Inbound receipts are parsed leniently: folded header lines, bare modifiers (processed/error without text), spelling variations of digest names, and the nonstandard forms some products emit are all accepted and normalized before your journal sees them.
  • A partnership can set interop.block_error_mdn = true to suppress negative receipts to a specific partner (some products react badly to them); rejections are still journaled locally.