After further investigation, I was able to use the WSDLDriverFactory to 
build a class for accessing Amazon's Web Services. The only problem with 
this is that it appears that Amazon uses messages with complexType 
parts, which I haven't figured out how to build. I'm working my way 
through the library right now, but I was hoping somebody could help me 
speed the process.

Thanks for your help,

bs.

Ben Schumacher wrote:
> Hello-
> 
> I'm working on a class to provide easy access to the Amazon Web Service 
> API (http://www.amazon.com/webservices/), and am having some weird 
> results using SOAP4R. Admittedly, this is the first time I've done 
> anything with SOAP, so I have limtied understanding, but I believe I'm 
> getting some sort of error in the SOAP4R library, rather than an error 
> from Amazon's interface.
> 
> Here's a simple program that I've written to access the interface:
> 
> #!/usr/local/bin/ruby
> require 'soap/driver'
> 
> soap = SOAP::Driver.new(nil, nil, 'http://soap.amazon.com',
>                         'http://soap.amazon.com/onca/soap2')
> soap.addMethodWithSOAPAction('KeywordSearchRequest',
>                              'http://soap.amazon.com',
>                              'type', 'tag', 'devtag',
>                              'mode', 'keyword')
> r = soap.send('KeywordSearchRequest', 'soap', 'cyalchemy',
>               'D3OSAD7T5NR887', 'books', 'dogs')
> 
> p r
> 
> My response ends up being:
> 
> : Can't use string ("soap") as a HASH ref while "strict refs" in use 
> (SOAP::FaultError)
> 
> Does this make any sense to anybody?
> 
> FYI- The WSDL for Amazon's Web Service API can be found at:
>     http://soap.amazon.com/schemas/AmazonWebServices.wsdl
> 
> Any help would be greatly appreciated.
> 
> bs.
> 
>