OrderRequest Processing
Ariba Supplier OnRamp processes an OrderRequest message received by the supplier as follows:
If logging is enabled, the document receiver service
receiveCXML logs an entry indicating that the OrderRequest was received. For a description of logging, see
Using the Logging Facility.
The
receiveCXML service queries the Configuration Module to determine if a developer-defined event handler service is registered for the OrderRequestReceived event. If so, that service is invoked. For more information, see
Listening to and Processing Punchout Process
Events.
receiveCXML obtains the operation type (
new,
update, or
delete) of the OrderRequest.
receiveCXML searches for the developer-defined OrderRequest handler for the particular operation type.
receiveCXML queries the Configuration Module for the handler service name by calling
wm.ariba.supplier.handlers:getHandler. For more information, see
The OrderRequest Handler.
receiveCXML invokes the appropriate handler. If an error occurs when the handler is invoked,
receiveCXML returns an ErrorResponse to the Ariba Buyer. Any errors that occur while the handler executes are returned in a serviceError record (assuming that you designed the handler with the appropriate specifications). In addition, if logging is enabled, a log entry is entered to indicate that an error occurred. Furthermore, if an event service is registered for the OrderRequestFailure event, that service is invoked.
receiveCXML checks the serviceError record to see if an error occurred. If so,
receiveCXML returns an ErrorResponse to the Ariba Buyer. In addition, if logging is enabled, a log entry is entered to indicate that an error occurred. Furthermore, if an event service is registered for the OrderRequestFailure event, that service is invoked.
If an error did not occur,
receiveCXML calls the service and returns an OrderResponse to the Ariba Buyer.
If logging is enabled,
receiveCXML adds a log entry indicating that an OrderResponse was sent.
If an event service is registered for the OrderResponseSent event,
receiveCXML calls the service.