XI Adapter 4.6 | webMethods XI Adapter Documentation | webMethods XI Adapter Installation and User’s Documentation | Overview | About XI Adapter | Receiving MessageObjects
 
Receiving MessageObjects
You use XI Adapter to receive MessageObjects as follows:
*XI Adapter receives MessageObjects sent to you by your business partners through a PI/PO Server. XI Adapter service that actually receives the requests is protected by a webMethods Access Control List (ACL), so business partners must supply valid login credentials. XI Adapter parses the MessageObjects and passes them to your backend systems through other webMethods adapters.
*If there are results, XI Adapter receives them from your backend systems through the webMethods adapters. XI Adapter returns the results to the PI/PO Server, which forwards them to your business partners.
1. A business partner sends a MessageObject to a PI/PO Server. The MessageObject specifies the login credentials you specified for the receiver endpoint that identifies the task.
2. The PI/PO Server sends the MessageObject to the URL you provided for your XI Adapter.
3. The inboundMessageObject service pub.xi.Router:inboundMessageObject receives the MessageObject. The inboundMessageObject service extracts the following:
*Receiver endpoint from the MessageObject's message header.
*Payload from the MessageObject.
*Delivery mode of the MessageObject.
The inboundMessageObject service then sends the receiver endpoint and payload to the inbound service you associated with the receiver endpoint. For more information, see Associating Receiver Endpoint with Inbound Service.
4. The inbound service receives payload and receiver endpoint, interacts with your backend system to process the task defined by the interface that is specified by the receiver endpoint.
5. The next step depends on whether the business partner sent the MessageObject synchronously or asynchronously, and on whether the task runs successfully.
*If the business partner sent the MessageObject synchronously, the inboundMessageObject service pub.xi.Router:inboundMessageObject returns a reply MessageObject to the PI/PO Server to send to the business partner.
*If the task runs successfully, the reply MessageObject contains a message header and a payload. The payload was provided by the inbound service and contains the results of the task from your backend system.
*If the task fails because a technical error occurred in the PI/PO environment or on your business system, the reply MessageObject contains a message header and an error header that contains information about the technical error.
*If the task fails because an application error occurred on your business system, the reply MessageObject contains a Document Type that contains information about the application error.
*If the business partner sent the MessageObject asynchronously, the inboundMessageObject service pub.xi.Router:inboundMessageObject returns a reply MessageObject to the PI/PO Server to send to the business partner.
*If the task runs successfully, the reply MessageObject contains a message header.
*If the task fails because a technical error occurred in the PI/PO environment or on your business system, the reply MessageObject contains a message header and an error header that contains information about the technical error.
You can return results later using a separate response service.