Sending an X.400 Notification

The principles for sending notifications (Trading Networks document type x400statusOut) are the same as for sending messages. For each message output (message, notification, report) submitted, there must be a positive or negative (in case of an error) acknowledgment. For more information about sending messages, see Sending Outbound Messages.

Overview outbound notification processing

The following list illustrates how Adapter for X.400 sends notifications:

  1. To send notifications, you have to invoke one of the following services:
    • wm.X400for1N.wm.x400.tn.rec:deliverX400receipt
    • wm.X400for1N.wm.x400.tn.rec:deliverX400noReceipt
    • wm.X400for1N.wm.x400.tn.rec:deliverX400positiveEDI
    • wm.X400for1N.wm.x400.tn.rec:deliverX400negativeEDI
    • wm.X400for1N.wm.x400.tn.rec:deliverX400forwardedEDI
  2. The Adapter for X.400 stores the notifications in the outbound/Status folder in the webMethods X.400 Gateway.
  3. The sendAndFetch or send services retrieve the messages from the outbound/Status and send them to the X.400 Server as separate mail messages to the recipients via the ADDONMAIL-UAFI (third party product).

Structure of an Outbound Notification (x400statusOut)

The following describes the structure of an outbound notification (Trading Networks document type x400statusOut).
Note: Typically an outbound notification contains one notification type per file.
<?xml version="1.0"?>
<!--X.400 outgoing status-->
<x400statusOut>

<receiptNotificationOut>
	<contentType>UA-FI-HDR-CONTENT_TYPE=P2</contentType>
	<type>UA-FI-HDR-TYPE=RECEIPT</type>
	<localId>UA-FI-HDR-LOCAL_ID</localId>
	<p7-recipient>
		<x400address>UA-FI-HDR-P7_RECIPIENT_X400ADDRESS</x400address>
	</p7-recipient>
	<subjectIpn>UA-FI-HDR-SUBJECT_IPN</subjectIpn>
	<p2originator>
		<x400address>UA-FI-HDR-P2_ORIGINATOR</x400address>
	</p2originator>
	<preferredRecipient>
		<x400address>UA-FI-HDR-PREFERED_RECIPIENT</x400address>
	</preferredRecipient>
	<receiptTime>UA-FI-HDR-RECEIPT_TIME</receiptTime>
	<acknowledgeMode>UA-FI-HDR-ACKNOWLEDGE_MODE</acknowledgeMode>
	<supplementaryInfo>UA-FI-HDR-SUPPLEMENTARY_INFO</supplementaryInfo>
</receiptNotificationOut>

<nonReceiptNotificationOut>
	<contentType>UA-FI-HDR-CONTENT_TYPE=P2</contentType>
	<type>UA-FI-HDR-TYPE=NON-RECEIPT</type>
	<localId>UA-FI-HDR-LOCAL_ID</localId>
	<p7recipient>
		<x400address>UA-FI-HDR-P7_RECIPIENT_X400ADDRESS</x400address>
	</p7recipient>
	<subjectIpn>UA-FI-HDR-SUBJECT_IPN</subjectIpn>
	<p2originator>
		<x400address>UA-FI-HDR-P2_ORIGINATOR</x400address>
	</p2originator>
	<preferredRecipient>
		<x400address>UA-FI-HDR-PREFERED_RECIPIENT</x400address>
	</preferredRecipient>
	<reason>UA-FI-HDR-REASON=DISCARDED or AUTOFORWARDED</reason>
	<discardReason>UA-FI-HDR-DISCARD_REASON</discardReason>
	<autoforwardComment>UA-FI-HDR-AUTOFORWARD_COMMENT</autoforwardComment>
</nonReceiptNotificationOut>

<positiveEdiNotificationOut>
	<contentType>UA-FI-HDR-CONTENT_TYPE=PEDI</contentType>
	<type>UA-FI-HDR-TYPE=EDI_RECEIPT</type>
	<localId>UA-FI-HDR-LOCAL_ID</localId>
	<p7recipient>
		<x400address>UA-FI-HDR-P7_RECIPIENT_X400ADDRESS</x400address>
	</p7recipient>
	<subjectEdim>UA-FI-HDR-SUBJECT_EDIM</subjectEdim>
	<from>
		<x400address>UA-FI-RSP-FROM_X400ADDRESS</x400address>
	</from>
	<preferredRecipient>
		<x400address>UA-FI-HDR-FIRST_RECIPIENT_X400ADDRESS</x400address>
	</preferredRecipient>
	<receiptTime>UA-FI-HDR-RECIPIENT_TIME</receiptTime>
	<supplementaryInfo>UA-FI-HDR-SUPPLEMENTARY_INFO</supplementaryInfo>
</positiveEdiNotificationOut>

<negativeEdiNotificationOut>
	<contentType>UA-FI-HDR-CONTENT_TYPE=PEDI </contentType>
	<type>UA-FI-HDR-TYPE=EDI_NON-RECEIPT</type>
	<localId>UA-FI-HDR-LOCAL_ID</localId>
	<p7recipient>
		<x400address>UA-FI-HDR-P7_RECIPIENT_X400ADDRESS</x400address>
	</p7recipient>
	<subjectEdim>UA-FI-HDR-SUBJECT_EDIM</subjectEdim>
	<from>
		<x400address>UA-FI-RSP-FROM_X400ADDRESS</x400address>
	</from>
	<preferredRecipient>
		<x400address>UA-FI-HDR-FIRST_RECIPIENT_X400ADDRESS</x400address>
	</preferredRecipient>
	<receiptTime>UA-FI-HDR-RECIPIENT_TIME</receiptTime>
	<nnReason>UA-FI-HDR-NN_REASON</nnReason>
	<nnDiagnostic>UA-FI-HDR-NN_DIAGNOSTIC</nnDiagnostic>
	<supplementaryInfo>UA-FI-HDR-SUPPLEMENTARY_INFO</supplementaryInfo>
</negativeEdiNotificationOut>

<forwardedEdiNotificationOut>
	<contentType>UA-FI-HDR-CONTENT_TYPE=PEDI</contentType>
	<type>UA-FI-HDR-TYPE=EDI_FORW_RECEIPT</type>
	<localId>UA-FI-HDR-LOCAL_ID</localId>
	<p7recipient>
		<x400address>UA-FI-HDR-P7_RECIPIENT_X400ADDRESS</x400address>
	</p7recipient>
	<subjectEdim>UA-FI-HDR-SUBJECT_EDIM</subjectEdim>
	<from>
		<x400address>UA-FI-RSP-FROM_X400ADDRESS</x400address>
	</from>
	<preferredRecipient>
		<x400address>UA-FI-HDR-FIRST_RECIPIENT_X400ADDRESS</x400address>
	</preferredRecipient>
	<receiptTime>UA-FI-HDR-RECIPIENT_TIME</receiptTime>
	<forwardedTo>
		<x400address>UA-FI-HDR-FORWARDED_TO_X400ADDRESS</x400address>
	</forwardedTo>
	<reason>UA-FI-HDR-FN_REASON</reason>
	<supplementaryInfo>UA-FI-HDR-SUPPLEMENTARY_INFO</supplementaryInfo>
</forwardedEdiNotificationOut>
<x400statusOut>

For more details about the parameters of an X.400 notification (e.g., localID, p7originator), see the ADDONMAIL UA-FI Programmer’s Guide for the chapter about submitting IP notifications and the chapter about submitting EDI notifications.

Sending Receipt and Non-receipt Notifications

You can have Adapter for X.400 send a receipt notification informing you that the receiver has read your IP message. You can also have Adapter for X.400 send a non­ receipt notification containing the reason code for non-receipt of the IP message.

Before you can send receipt or non-receipt notifications for IP messages, fulfill the following prerequisite:

To send X.400 receipt and non-receipt notifications, you must invoke the appropriate service based on the type of notification you want to send.

  • Receipt notification. Invoke wm.X400forTN.wm.x400.tn.rec:deliverX400receipt service.
  • Non-receipt notification. Invoke wm.X400forTN.wm.x400.tn.rec:deliverX400nonReceipt service.

After invoking the service, Adapter for X.400 creates a receipt or non-receipt notification (Trading Networks document type x400statusOut) for an inbound IP message and sends the notification to your X.400 partner using the X.400 Gateway.

The following table specifies what input parameters you need to provide for the service based on the type of notification you are sending:

Type of notification Service name Input parameters for the service
Receipt deliverX400receipt
  • Bizdoc (BizDocEnvelope) that contains the message (Trading Networks document type ipMessageln) that you want to generate the notification (Trading Networks document type x400statusOut) for.
  • Alias Name of the remote Integration Server, if the X.400 Gateway does not reside on the local machine.
Non-receipt deliverX400nonReceipt
  • Bizdoc(BizDocEnvelope) that contains the message (Trading Networks document type ipMessageln) that you want to generate the notification (Trading Networks document type x400statusOut) for.
  • Alias Name of the remote Integration Server, if the X.400 Gateway does not reside on the local machine.
  • DiscardReason or the reason code for the non-receipt notification.
AutoforwardComment for reason code 1. In that case the message was automatically forwarded by the recipient's mail system. The comment describes details regarding the forwarding.

For more details about the structure and parameters of an X.400 notification (e.g., localID, p7originator), see the ADDONMAIL UA-FI Programmer’s Guide for the chapter about submitting IP notifications and the chapter about receipt and non-receipt notifications.

Sending EDI Notifications

Adapter for X.400 provides three types of EDI notifications:

  • Positive EDInotification. If you received and processed the original X.400 EDI message successfully,you have to call the wm.X400forTN.wm.x400.tn.rec:deliverX400positiveEDI service to send a positive EDI notification.
  • Negative EDI notification. If something went wrong with the original X.400 EDI message,you have to call the wm.X400forTN.wm.x400.tn.rec:deliverX400negativeEDI service to send a negative EDI notification containing the reason and diagnostic codes.
  • ForwardedEDI notification. If the X.400 EDI message was forwarded from your side, you have to call the wm.X400forTN.wm.x400.tn.rec:deliverX400forwardedEDI service to send a forwarded EDI notification containing the reason code and the X.400 address of the receiver the message was forwarded to.

Before you can send positive, negative, and forwarded EDI notifications, fulfill the following prerequisite:

After invoking the service, Adapter for X.400 creates an X.400 EDI notification for an inbound EDI message and sends the notification to your X.400 partner using the X.400 Gateway.

The following table specifies what input parameters you need to provide for the service based on the type of notification you are sending.

Type of notification Service name Input parameters for the service
Positive deliverX400positiveEDI
  • Bizdoc (BizDocEnvelope) that contains the message (Trading Networks document type ediMessageIn) that you want to generate the notification (Trading Networks document type x400statusOut) for.
  • Alias Name of the remote Integration Server, if the X.400 Gateway does not reside on the local machine.
Negative deliverX400negativeEDI
  • Bizdoc(BizDocEnvelope) that contains the message (Trading Networks document type ediMessageIn) that you want to generate the notification (Trading Networks document type x400statusOut) for.
  • Alias Name of the remote Integration Server, if the X.400 Gateway does not reside on the local machine.
  • nnReason or the negative (EDI) notification reason.
  • nnDiagnostic or diagnostic code.
Forwarded deliverX400forwardedEDI
  • Bizdoc(BizDocEnvelope) that contains the message (Trading Networks document type ediMessageIn) that you want to generate the notification (Trading Networks document type x400statusOut) for.
  • Alias Name of the remote Integration Server, if the X.400 Gateway does not reside on the local machine.
  • Reason and the reason code. The X.400 address of the receiver the message was forwarded to and the reason code 1.

For more details about the structure and parameters of an X.400 notification (e.g., localID, p7originator), see the ADDONMAIL UA-FI Programmer’s Guide for the chapter about submitting notifications.

For more details about the structure and parameters of an X.400 EDI notification (e.g., localID, p7originator), see the ADDONMAIL UA-FI Programmer’s Guide for the chapter about submitting EDI notifications.