If you are setting up the cXML punchOut protocol handler for AX2012 for a new vendor you might want to explore the two message logging options that can be used.You can find these in the Procurement and sourcing parameters under the Procurement site settings.
The first parameter is called Log cXML messages. This one will take the XML payload out of the html posts going back and forward between AX and the suppliers site. This is handy for reviewing the message details and checking for data values. If a user gets an error returning a shopping basked this would be the first option to have a look at the XML for data values that are unusually like odd characters etc in the XML. If you can’t see an issues in this message or if this message didn’t get populated correctly then you might want to look at the next parameter.
Log cXML message details. This is a parameter that you don’t want to turn on in production as it will log a lot of details about the lines of code being processed in the protocol handler. This will allow you to try to isolate where in the handler something might be going wrong so you can then use a X++ code breakpoint as a next option to see what might be going wrong in the protocol handler. This is going to be for an unusual issue like working with a new small vendor that has a customer system that might be returning an malformed xml. Or a new vendor that has interpreted the cXML tags differently or using a tag from a different version of cXML.
Here is a quick overview.
If you are not getting messages at all logged then you might want to resource to using Fiddler to investigate the html traffic going over the wire. Have a look at this post.
For notes on downloading the cXML punchOut protocol for AX2012 see this post