XI Adapter 4.6 | webMethods XI Adapter Documentation | webMethods XI Adapter Installation and User’s Documentation | Overview | About XI Adapter | Sending MessageObjects
 
Sending MessageObjects
You use XI Adapter to send MessageObjects as follows:
*XI Adapter gets MessageObjects from your backend systems through other webMethods adapters, such as webMethods Oracle Applications Adapter and webMethods Siebel Adapter. XI Adapter sends the MessageObjects to a PI/PO Server, which forwards them to your business partners.
*If there are results, XI Adapter receives them from the business partners through the PI/PO Server. XI Adapter returns the results to your backend systems through the webMethods adapters.
XI Adapter bridges the gap between the webMethods adapters and the PI/PO Servers so you can communicate with your business partners through the PI/PO environment.
This section explains how you send a MessageObject to a business partner.
1. An outbound service on XI Adapter gets a MessageObject from your backend system. The backend system might send the data to the adapter or the adapter might request the data from your backend system.
2. The outbound service calls XI Adapter's outboundMessageObject service, pub.xi.Router:outboundMessageObject and passes the MessageObject data as the payload.
3. The outboundMessageObject service, identifies your business system by looking up the sender endpoint you associated with the outbound service (see Associating Sender Endpoint with Outbound Service). The outboundMessageObject service finds the PI/PO Server you mapped to that business system and sends the MessageObject to the PI/PO Server (see Assigning Your Business Systems to PI/PO Servers).
4. The PI/PO Server receives the MessageObject, then looks up the sender endpoint in the PI Integration Directory. The PI/PO Server finds the receiver endpoints that are assigned to the sender endpoint. The PI/PO Server then sends the MessageObject to the business systems you specified in the receiver endpoints.
If you send the MessageObject synchronously, the outboundMessageObject service makes only one attempt to send, regardless of technical errors. If you send the MessageObject asynchronously and a technical error occurs in the PI/PO environment or on the business partner's system, the service resends as many times and as often as you specify. For more information on the Settings page, see Settings.
5. The next step depends on whether you sent the MessageObject synchronously or asynchronously, and on whether the task runs successfully.
*If you sent the MessageObject synchronously, the outbound service is blocked until the PI/PO Server returns a reply MessageObject to the outboundMessageObject service pub.xi.Router:outboundMessageObject.
*If the task runs successfully, the reply MessageObject contains a message header and a payload. The outboundMessageObject service returns the message header and the payload to the outbound service, which returns them to your backend system. You can use Software AG Designer to modify the service you created to map the message header information to your pipeline. For more information on modifying the service, see Software AG Designer Online Help.
*If the task fails because a technical error occurred in the PI/PO environment or on your business partner's system, the reply MessageObject contains a message header and an error header that contains information about the technical error. The outboundMessageObject service returns both headers to the outbound service, which can return them to your backend system. You can map the message header and error header information to your pipeline.
*If the task fails because an application error occurred on your business partner's system, the reply MessageObject contains a message header, and the message header contains information about the application error. The outboundMessageObject service returns the message header to the outbound service, which returns it to your backend system. You can map the message header information to your pipeline.
*If you sent the MessageObject asynchronously, the PI/PO Server returns a reply MessageObject to the outboundMessageObject service pub.xi.Router:outboundMessageObject.
*If the task runs successfully, the reply MessageObject contains a message header. You can use Software AG Designer to modify the service you created to map the message header information to your pipeline. For more information on modifying the service, see Software AG Designer Online Help.
*If the task fails because a technical error occurred in the PI/PO environment or on your business partner's system, the reply MessageObject contains a message header and an error header that contains information about the technical error. You can use Software AG Designer to modify the service you created to map the message header and error information to your pipeline. For more information on modifying the service, see Software AG Designer Online Help.
The business partner might return results later using a separate response service. A separate service you create receives those results.