Ariba Supplier OnRamp 7.1 | webMethods Ariba Supplier OnRamp Documentation | webMethods Ariba Supplier OnRamp Installation and User’s Documentation | Concepts | cXML Document Processing without Trading Networks | PunchOutSetupRequest Processing
 
PunchOutSetupRequest Processing
 
The PunchOutSetupRequest Handler
Ariba Supplier OnRamp processes a PunchOutSetupRequest message received by the supplier as follows:
*If logging is enabled, the document receiver service receiveCXML logs an entry indicating that the PunchOutSetupRequest was received. For a description of logging, see Using the Logging Facility.
*receiveCXML then checks the cXML request envelope and verifies that the message contains the correct Supplier Shared Secret. The shared secret is a password that the supplier configures on Ariba SN. All requests sent by Ariba SN to this supplier will contain the shared secret in the SharedSecret field in the requests' Sender credential. If you specify the shared secret in Ariba Supplier OnRamp, its default processing mechanism will check all incoming cXML requests for a matching shared secret. If the shared secret is checked and does not match, the document is not processed. In addition, Ariba Supplier OnRamp logs the failure.
*receiveCXML queries the Configuration Module if an event handler service is registered for the SetupRequestReceived event. If so, that service is invoked. For more information, see Listening to and Processing Punchout Process Events.
*receiveCXML obtains the operation type (create, inspect, or edit) of the PunchOutSetupRequest.
*receiveCXML searches for the developer-defined PunchOutSetupRequest 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 PunchOutSetupRequest Handler.
*receiveCXML invokes the handler. If an error occurs when the handler is invoked, receiveCXML returns an ErrorResponse to the buyer's 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 SetupRequestFailure event, that service is invoked.
*If the handler successfully processes the PunchOutSetupRequest, the handler should return a catalogURL that indicates where the Ariba Buyer should redirect the buyer. If the handler does not return a catalogURL, the receiveCXML service sends an ErrorResponse to the buyer's Ariba Buyer. In addition, if logging is enabled, a log entry is entered indicate an error occurred. Furthermore, if an event service is registered for the SetupRequestFailure event, that service is invoked.
*The supplier returns a PunchOutSetupResponse, which is a cXML message that is returned in an HTTP response to the buyer's Ariba Buyer.
*If logging is enabled, receiveCXML adds a log entry indicating that a PunchOutSetupResponse was sent.
*If an event service is registered for the SetupResponseSent event, receiveCXML calls the service.