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. > >