7

I'm getting the dreaded

Sorry, no quotes are available for this order at this time

error message on the Shipping section of the One Page Checkout. The only shipper is FedEx. Is there known science for debugging these sorts of issues without doing a deep dive on how Magento renders the Shipping Step, and how that kicks off API requests for rates?

In other words — what tools exist in the UI for debugging these issues, and if not tools exists what are the best classes to add temporary debugging tools to?

8

Unfortunately there's not much in the UI for debugging these types of issues.

You could try enabling the Debug setting. That will log the API requests and responses to your var/logs/ directory, which might provide some clues.

If that doesn't provide any clarity, you'll probably need to poke around the core functionality. Mage_Shipping_Model_Shipping::collectCarrierRates() would be a great place to start. This method should be called once (from collectRates()) for each of the different carriers. Some tips to guide your search within that method:

  • Does collectCarrierRates() ever get called with $carrierCode equal to 'fedex'? If not, investigate why collectRates() is skipping over FedEx.
  • Do any of the ->collectRates($request) calls ever get executed? That's what ultimately issues the API request. Perhaps one of the previous checks is failing, or something else is short-circuiting the process. In that case, Magento isn't even attempting to ask FedEx for quotes.
  • Check the value of $result - it may contain null or false if something failed. Otherwise you'll get a Mage_Shipping_Model_Rate_Result object - check whether it has errors with $result->getError()

I'd strongly recommend using xdebug to trace through that code and observe the variable values. (If that's not feasible, just add Mage::log() calls everywhere.)

Hopefully that should narrow down the cause enough for you to find a solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.