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.