Outbound Communications

Outbound Communications represent the business logic of sending a request and receiving a reply. Outbound communication business objects are based on the D1-COMMOUT maintenance object. The outbound communication is not the actual message, but creates the outbound message. Outbound communication business objects used with native implementations are suffixed with “-DR” for “direct route” to indicate the request go straight to the head end system.

Schema

This section provides details concerning outbound communication business object schemas.

Outbound communication schemas typically have a “sendDetail” element corresponding to the data being sent to the head end system, or more precisely, the XSL handler for the outbound message. The synchronous response is transformed by the XSL handler and placed into the “responseDetail” element.

Key Algorithms

This section outlines some of the important algorithms executed as part of the outbound communication’s lifecycle.

Some algorithms are directly shared by multiple business objects and multiple lifecycle states. In other cases, unique algorithms will perform the same role across business objects. The following section refers to the algorithms generically.

Lifecycle State Algorithms

Validate

Similar to the sctivity, the Validate state houses algorithms that will execute prior to sending the message.

  • Validate Communication Type: This algorithm ensures the communicationType field is populated on the message.

Validation Error

If the Validate state encounters an error, the business object transitions to this state. The algorithms are similar to those in the activity business object.

Awaiting Response

The Awaiting Response state sends an outbound message and awaits the response.

  • Populate Send Detail: Each outbound communication has a specific algorithm to populate all the schema elements that are required to create the outbound message.

  • Create Outbound Message: This algorithm creates a specific outbound message based on the Processing Role. The response is stored in the responseDetails element.

  • Timeout: This algorithm detects whether a communication has been waiting for an asynchronous response too long.

Retry

The lifecycle state responsible for transitioning the outbound communication back to Awaiting Response.

Response Error

The business object enters the Response Error state when an error has occurred in sending the request. It contains algorithms for creating To Do entries and for retrying similar to the activity’s Communication Error state.

Completed

This is the final state representing a successful outbound communication. Finishing tasks such as setting flags for use by subsequent communications and notifying the parent activity of completion are performed.

Discarded

Includes an algorithm that transfers the parent activity to Failed.