I have been messing with the FedEx API for a client for the better part of 2 months. After many irritated phone calls (and more than a few insults to their IVR system) they finally told me that what we wanted to do would not be possible. Ever.
I primarily develop on a Windows 2003 server. Their ATOM software (that controls the API dll) will not work on a 2003 box. This they told me after 2 months of hassle with it. Needless to say I was a little miffed.
But where one door is shut voilently in your face (doorknob hitting you in the ass and all), another door opens. This door, a small, rathole sized door, came in the form of an XML request.
It turns out that if you cannot use their API, they offer the option of calling their servers directly using an XML request. They dont normally tell people this and the documentation for it is laughable at best, but it turns out that it works. And whats more, it works better than their API option. And whats more than that, Their request comes back as an XML string so we can parse it to our desires (sweet).
So after about 5 minutes on google, a site what yeilded that explained, in detail, exactly how to do what we want using an XML request.
I copied the exact code he had, added in the clients specific info, and you know what; it WORKED. We got a positive response. Another hour and we were getting back exactly what we wanted; the Net Charge of the shipping (we only needed this one stinking number).
There is still work to do to integrate it into the clients site, but this is a major step forward. The rest (making a function, integrating into the cart, etc) is small beans compared to this victory.
So, for all those who are messing with the FedEx API, trying to get information from it, give up now and cut your losses. Go with the Direct XML request. It works beautifully on any system (windows, unix or other as long as you can parse XML) and you dont have to install anything.
The only other option I would suggest is to try UPS.
Update: After two hours of tinkering, I finally have a nice selection box that displays all of the shipping estimates for the various services based on where they are going. Im almost amazed since I have gotten further in 2 hours than I have in 2 months. OK. Back to the grindstone. – Cheers