Program AWS with SOAP::Lite and Perl

Use a standard Perl SOAP module to make requests and work with the responses.

Though SOAP requests and responses are more complex than those of XML/HTTP, they’re just as easy to work with if you have the right tools.

What You Need

SOAP::Lite has become the standard way for Perl developers to work with SOAP services. Many ISPs have SOAP::Lite installed, but it’s not yet ubiquitous. A quick request via email could save you hours of straining with the manual installation process. If you’re on a Windows server, you can install it fairly painlessly with the package manager at a command prompt:

               ppm install SOAP::Lite

The Code

Instead of assembling URLs, making an Amazon request with SOAP requires assembling a collection of variables and their values. Create a file called amazon.pl with the following code:

#!/usr/bin/perl
# amazon.pl
# A typical Amazon Web API Perl script that uses the SOAP::Lite Module.
# Usage: perl amazon.pl <keyword>

#Your Amazon developer's token
my $dev_token='insert developer token';

#Your Amazon affiliate code
my $af_tag='insert associate tag'; #Location of the Amazon WSDL file my $amazon_wdsl = "http://soap.amazon.com/schemas2/AmazonWebServices.wsdl"; use strict; #Use the SOAP::Lite Perl module use SOAP::Lite; #Take the query from the command-line my $keyword =shift @ARGV or die "Usage:perl amazon.pl <keyword>\n"; #Create a new SOAP::Lite instance, feeding it Amazon's WSDL my $amazon_search = SOAP::Lite->service("$amazon_wdsl"); ...

Get Amazon Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.