Before incoming messages can be dealt with, all packaging and protocol specific information with which they are bundled must be extracted and processed. The first two steps in the fixed inbound workflow are designed to accomplish these tasks. WBI-C ships with code to handle RNIF, AS2, MIME, EAI, and NONE packaging and XML, RosettaNet, and EDI protocols. To add new packaging types or to support new protocols, users can write their own handlers, using an API, the BusinessProcessHandlerInterface, provided with this release. These new handlers must be configured using the Community Console and integrated into the processing flow in the normal way. For more on the configuration process, see the Hub Configuration Guide. This section provides a functional overview of the two user customizable steps in the fixed inbound workflow process. It covers:
Received messages in the BPE are wrapped in an object that implements the BusinessDocumentInterface. This wrapper object, often simply called the business document, contains both the received message, including the transport level and WBI-C defined headers added during the Receiver process, and a variety of metadata associated with the message. BPE uses this metadata in its processing. The first step in fixed processing consists of un-packaging or de-enveloping the business document. This may include any or all of the following steps:
Note: To support decryption and signature verification in user-defined handlers, there are security service utility classes available through the API.
When it is complete, this step produces the un-packaged message. In addition, the handler must update the meta information in the business document in the following ways:
Packaging attribute name | Description |
---|---|
FRPACKAGINGNAME | From: packaging name. This should be the packaging name defined in the Console. |
FRPACKAGINGVER | From: packaging version. This should be the version defined in the Console. |
PKG_FRBUSINESSID | If the packaging provides sender's business ID, it should be specified here. |
PKG_TOBUSINESSID | If the packaging provides destination's business ID, it should be specified here. |
When a user exit returns control to the BPE, the BPE inspects the business document for new events. It will log the events, and WBI-C will update activity tables and generate any necessary alerts. A listing of events available for logging issues in the Workflow stage is presented in the following API chapter.
After business documents are processed by any un-packaging handlers, they are handed off to the second fixed step, the protocol processing handler. This handler is responsible for parsing the business document to determine:
Once this information is determined, the handler must update the meta information in the business document in the following ways:
Protocol attribute name | Description |
---|---|
FRBUSINESSID | From: business ID from the message. |
TOBUISNESSID | To: business ID from the message. |
INITBUSINESSID | This could be the same as FRBUSINESSID or it could be a different ID, depending on the protocol. |
FRPROTOCOLNAME | The protocol name associated with the incoming business document. This should be a valid process name as defined in the Console. An example would be Rosettanet |
FRPROTOCOLVER | The protocol version associated with the incoming business document. This should be a valid process version as defined in the Console. An example would be V02.00. |
FRPROCESSCD | The process code associated with the incoming business document. This should be a valid code as defined in the Console. An example would be 3A4. |
FRPROCESSVER | The process version associated with the incoming business document. This should be a valid process version as defined in the Console. An example would be V02.00. |
When a user exit returns control to the BPE, the BPE inspects the business document for new events. It will log the events, and WBI-C will update activity tables and generate any necessary alerts. A listing of events available for logging issues in the Workflow stage is presented in the following API chapter.