Accessing Amazon Web Services with C#
I have been working on a personal C#.Net project that uses Amazon’s Web Services for a couple of years now. It’s been working quite well. I use this project as a personal database and learning tool for .Net.
Quite recently (August 2009) Amazon once again changed the name of their web services API and also the rules for making call to it, now requiring cryptographic signature authentication. While Amazon provides code samples, for some odd reason the only (yet new) C# SOAP sample provided by Amazon uses the dated and likely soon obsolete Web Services Enhancements (WSE) class library instead of Windows Communication Foundation (WCF). I assume this sample is for developers still using .Net 2.0, but a sample using more current technology would have been appropriate, as well.
I searched the web for a suitable sample to implement the signature authentication using .Net 3.5 and eventually came across a very appropriately titled blog entry: Signing Amazon Product Advertising API requests — the missing C# WCF sample, by Oren Trutner. Attached to Oren’s very appropriately titled blog entry are 3 samples that make implementing the calls using WCF very straightforward.
Great work and thanks, Oren!