On 29 Nov 2005, at 13:57, H. Wade Minter wrote: > I'm trying to create a simple test script to hit Amazon's web > services via > their WSDL listing (specifically the Wishlist Lookup). I'm going > on the > examples in the Pickaxe. > > Here's my sample script: > > ##### > #!/usr/bin/env ruby > > require 'soap/wsdlDriver' > > wsdl = 'http://webservices.amazon.com/AWSECommerceService/ > AWSECommerceService.wsdl' > > soap = SOAP::WSDLDriverFactory.new(wsdl).createDriver > > result = soap.ListLookup > ##### > > However, when I run it, I'm getting a ton of error messages to the > screen > that look like: > > Unknown element {http://www.w3.org/2001/XMLSchema}annotation. > Unknown attr {}ref. > Unknown attr {}ref. > > Followed by a final error like: > > soap.rb:10: undefined method `ListLookup' for #<SOAP::WSDLDriver: > 0x84f7898> > (NoMethodError) > > I'm not a WSDL expert, so I'm confused as to whether the problem is > on my > end, or on the Amazon end. Anyone better-versed than I willing to > take a > look? > > Thanks, > Wade Try using the ruby amazon library http://www.caliban.org/ruby/ruby-amazon.shtml makes this type of thing so easy. I used it to pull album art: require 'open-uri.rb' require 'amazon/search' include Amazon DEV_TOKEN = "XXXXXXXXXXXXXXXX" # you need to register to get one of these def getArtwork (artist, album) image = nil re = Regexp.new(album, Regexp::IGNORECASE) print "Looking for #{artist}, #{album} ..." req = Search::Request.new(DEV_TOKEN, nil, 'uk') resp = req.artist_search(artist, 'music', Search::LITE) prods = resp.products pr = prods.find {|pr| pr.product_name =~ re} if pr image = open(pr.image_url_small).read print "got artwork\n" else print " not found.\n Possible album names:" prods.each {|pr| puts "\t#{pr.product_name}"} end sleep 1 # don't access amazon too quickly image end Dave. >