Posted By
Gaurang Patel
on
17. October 2013 04:26
Ariba’s “PunchOut” software application allows buyers to access a supplier’s website from their own e-procurement application. In other words, they “punch out” from the company’s website and are taken to the supplier’s catalog to view products. At the same time, the application maintains a connection with the website in order to gather pertinent information regarding the products.
PunchOut is useful for suppliers whose catalog changes frequently, has over a thousand items, or offers highly configurable items that require a complex order process that need to be customized for each buyer.

The Ariba Process
Ariba has two environments – Production and Testing. Generally, the user turns to testing mode and uses an existing catalog or creates a new one. There are four steps involved in the basic integration of the website with Ariba PunchOut.

Step 1: The user logs in to the supplier section. Here you need to specify a “NetworkID,” the unique identification number of Ariba. Within NetworkID, create an inner tag for “SharedSecret.” SharedSecret is much like a password that becomes validated when the user is redirected from Ariba to the supplier site for the punch out request. Finally, specify the URL of the site in the body section of the code. This URL will be the page where the request is called.
Step 2: Next, Ariba receives the cXML request and reads and parses the cXML content. If the validation of the cXML is successful, the content is stored to a database. A success message is generated and returned to the Ariba site along with the buyer cookie and user email details. If the validation fails, a failure response is generated in cXML format.
Step 3: After Ariba parses and validates the cXML it sends the details back to a specified URL with cXML. If the validation fails, Ariba displays an error on its website.
Step 4: Step 4 begins when the user proceeds to checkout and clicks on ‘Add to Ariba.’ Here, cXML is generated and sent back to Ariba, which validates and processes the order.
The Issues we faced
AllianceTek faced an issue while setting up Ariba PunchOut for a client. While shopping from the client’s website, when the visitor clicked ‘Add to Ariba Punchout’ nothing happened and the shopping process was aborted. The user received a 500 internal server error and the order could not be placed.
In order to find the root cause, we stored all the exchanges of requests and responses between our site and Ariba in an XML file. Then we sent a ticket to Ariba about the issue.
Ariba asked us to make the following changes to the code:
- Validated “SharedSecret” within the tag “NetworkID” instead of “AribaNetworkUserID”
- Remove <ShipTo> </ShipTo> section from the older cXML file.
The issue was caused because Ariba upgraded its server. Taking the suggested steps resolved the issue.