summaryrefslogtreecommitdiff
path: root/sample
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-24 15:18:44 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-09-24 15:18:44 +0000
commitdb9445103c082a306ba085f7677da02ea94b8841 (patch)
treea311d59f031ae5def87f68be71ed1f58abadc031 /sample
parent8c2fb77787d1f20b4c19c9c52552856c339b86e9 (diff)
* lib/soap/* (29 files): SOAP4R added.
* lib/wsdl/* (42 files): WSDL4R added. * lib/xsd/* (12 files): XSD4R added. * test/soap/* (16 files): added. * test/wsdl/* (2 files): added. * test/xsd/* (3 files): added. * sample/soap/* (27 files): added. * sample/wsdl/* (13 files): added. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample')
-rw-r--r--sample/soap/babelfish.rb16
-rw-r--r--sample/soap/calc/calc.rb17
-rw-r--r--sample/soap/calc/calc2.rb29
-rw-r--r--sample/soap/calc/client.rb26
-rw-r--r--sample/soap/calc/client2.rb29
-rw-r--r--sample/soap/calc/httpd.rb15
-rw-r--r--sample/soap/calc/server.cgi15
-rw-r--r--sample/soap/calc/server.rb17
-rw-r--r--sample/soap/calc/server2.rb20
-rw-r--r--sample/soap/digraph.rb43
-rw-r--r--sample/soap/exchange/client.rb19
-rw-r--r--sample/soap/exchange/exchange.rb17
-rw-r--r--sample/soap/exchange/httpd.rb15
-rw-r--r--sample/soap/exchange/server.cgi14
-rw-r--r--sample/soap/exchange/server.rb16
-rw-r--r--sample/soap/helloworld/hw_c.rb6
-rw-r--r--sample/soap/helloworld/hw_s.rb17
-rw-r--r--sample/soap/icd/IICD.rb17
-rw-r--r--sample/soap/icd/icd.rb46
-rw-r--r--sample/soap/raa/iRAA.rb154
-rw-r--r--sample/soap/raa/soap4r.rb30
-rw-r--r--sample/soap/sampleStruct/client.rb16
-rw-r--r--sample/soap/sampleStruct/httpd.rb15
-rw-r--r--sample/soap/sampleStruct/iSampleStruct.rb22
-rw-r--r--sample/soap/sampleStruct/sampleStruct.rb13
-rw-r--r--sample/soap/sampleStruct/server.cgi14
-rw-r--r--sample/soap/sampleStruct/server.rb16
-rw-r--r--sample/wsdl/amazon/AmazonSearch.rb3701
-rw-r--r--sample/wsdl/amazon/AmazonSearchDriver.rb445
-rw-r--r--sample/wsdl/amazon/sampleClient.rb37
-rw-r--r--sample/wsdl/amazon/wsdlDriver.rb48
-rw-r--r--sample/wsdl/googleSearch/GoogleSearch.rb258
-rw-r--r--sample/wsdl/googleSearch/GoogleSearchDriver.rb101
-rw-r--r--sample/wsdl/googleSearch/README6
-rw-r--r--sample/wsdl/googleSearch/httpd.rb15
-rw-r--r--sample/wsdl/googleSearch/sampleClient.rb56
-rw-r--r--sample/wsdl/googleSearch/sjissearch.sh3
-rw-r--r--sample/wsdl/googleSearch/wsdlDriver.rb23
-rw-r--r--sample/wsdl/raa/raa.wsdl264
-rw-r--r--sample/wsdl/raa/soap4r.rb31
40 files changed, 5662 insertions, 0 deletions
diff --git a/sample/soap/babelfish.rb b/sample/soap/babelfish.rb
new file mode 100644
index 0000000000..eb2421449a
--- /dev/null
+++ b/sample/soap/babelfish.rb
@@ -0,0 +1,16 @@
+#!/usr/bin/env ruby
+
+text = ARGV.shift || 'Hello world.'
+lang = ARGV.shift || 'en_fr'
+
+require 'soap/rpc/driver'
+
+server = 'http://services.xmethods.net/perl/soaplite.cgi'
+InterfaceNS = 'urn:xmethodsBabelFish'
+wireDumpDev = nil # STDERR
+
+drv = SOAP::RPC::Driver.new(server, InterfaceNS)
+drv.wiredump_dev = wireDumpDev
+drv.add_method_with_soapaction('BabelFish', InterfaceNS + "#BabelFish", 'translationmode', 'sourcedata')
+
+p drv.BabelFish(lang, text)
diff --git a/sample/soap/calc/calc.rb b/sample/soap/calc/calc.rb
new file mode 100644
index 0000000000..6bc78803b3
--- /dev/null
+++ b/sample/soap/calc/calc.rb
@@ -0,0 +1,17 @@
+module CalcService
+ def self.add(lhs, rhs)
+ lhs + rhs
+ end
+
+ def self.sub(lhs, rhs)
+ lhs - rhs
+ end
+
+ def self.multi(lhs, rhs)
+ lhs * rhs
+ end
+
+ def self.div(lhs, rhs)
+ lhs / rhs
+ end
+end
diff --git a/sample/soap/calc/calc2.rb b/sample/soap/calc/calc2.rb
new file mode 100644
index 0000000000..e9cf6bbca7
--- /dev/null
+++ b/sample/soap/calc/calc2.rb
@@ -0,0 +1,29 @@
+class CalcService2
+ def initialize(value = 0)
+ @value = value
+ end
+
+ def set(value)
+ @value = value
+ end
+
+ def get
+ @value
+ end
+
+ def +(rhs)
+ @value + rhs
+ end
+
+ def -(rhs)
+ @value - rhs
+ end
+
+ def *(rhs)
+ @value * rhs
+ end
+
+ def /(rhs)
+ @value / rhs
+ end
+end
diff --git a/sample/soap/calc/client.rb b/sample/soap/calc/client.rb
new file mode 100644
index 0000000000..57a4c0ba5b
--- /dev/null
+++ b/sample/soap/calc/client.rb
@@ -0,0 +1,26 @@
+require 'soap/rpc/driver'
+
+server = ARGV.shift || 'http://localhost:7000/'
+# server = 'http://localhost:8808/server.cgi'
+
+calc = SOAP::RPC::Driver.new(server, 'http://tempuri.org/calcService')
+#calc.wiredump_dev = STDERR
+calc.add_method('add', 'lhs', 'rhs')
+calc.add_method('sub', 'lhs', 'rhs')
+calc.add_method('multi', 'lhs', 'rhs')
+calc.add_method('div', 'lhs', 'rhs')
+
+puts 'add: 1 + 2 # => 3'
+puts calc.add(1, 2)
+puts 'sub: 1.1 - 2.2 # => -1.1'
+puts calc.sub(1.1, 2.2)
+puts 'multi: 1.1 * 2.2 # => 2.42'
+puts calc.multi(1.1, 2.2)
+puts 'div: 5 / 2 # => 2'
+puts calc.div(5, 2)
+puts 'div: 5.0 / 2 # => 2.5'
+puts calc.div(5.0, 2)
+puts 'div: 1.1 / 0 # => Infinity'
+puts calc.div(1.1, 0)
+puts 'div: 1 / 0 # => ZeroDivisionError'
+puts calc.div(1, 0)
diff --git a/sample/soap/calc/client2.rb b/sample/soap/calc/client2.rb
new file mode 100644
index 0000000000..2c53f09d42
--- /dev/null
+++ b/sample/soap/calc/client2.rb
@@ -0,0 +1,29 @@
+require 'soap/rpc/driver'
+
+server = ARGV.shift || 'http://localhost:7000/'
+# server = 'http://localhost:8808/server2.cgi'
+
+var = SOAP::RPC::Driver.new( server, 'http://tempuri.org/calcService' )
+var.add_method( 'set', 'newValue' )
+var.add_method( 'get' )
+var.add_method_as( '+', 'add', 'rhs' )
+var.add_method_as( '-', 'sub', 'rhs' )
+var.add_method_as( '*', 'multi', 'rhs' )
+var.add_method_as( '/', 'div', 'rhs' )
+
+puts 'var.set( 1 )'
+puts '# Bare in mind that another client set another value to this service.'
+puts '# This is only a sample for proof of concept.'
+var.set( 1 )
+puts 'var + 2 # => 1 + 2 = 3'
+puts var + 2
+puts 'var - 2.2 # => 1 - 2.2 = -1.2'
+puts var - 2.2
+puts 'var * 2.2 # => 1 * 2.2 = 2.2'
+puts var * 2.2
+puts 'var / 2 # => 1 / 2 = 0'
+puts var / 2
+puts 'var / 2.0 # => 1 / 2.0 = 0.5'
+puts var / 2.0
+puts 'var / 0 # => 1 / 0 => ZeroDivisionError'
+puts var / 0
diff --git a/sample/soap/calc/httpd.rb b/sample/soap/calc/httpd.rb
new file mode 100644
index 0000000000..ee8ab09f50
--- /dev/null
+++ b/sample/soap/calc/httpd.rb
@@ -0,0 +1,15 @@
+#!/usr/bin/env ruby
+
+require 'webrick'
+require 'getopts'
+
+getopts "", 'r:', 'p:8808'
+
+s = WEBrick::HTTPServer.new(
+ :BindAddress => "0.0.0.0",
+ :Port => $OPT_p.to_i,
+ :DocumentRoot => $OPT_r || ".",
+ :CGIPathEnv => ENV['PATH']
+)
+trap(:INT){ s.shutdown }
+s.start
diff --git a/sample/soap/calc/server.cgi b/sample/soap/calc/server.cgi
new file mode 100644
index 0000000000..c4fa687550
--- /dev/null
+++ b/sample/soap/calc/server.cgi
@@ -0,0 +1,15 @@
+#!/usr/bin/env ruby
+
+require 'soap/rpc/cgistub'
+
+class CalcServer < SOAP::RPC::CGIStub
+ def initialize(*arg)
+ super
+
+ require 'calc'
+ servant = CalcService
+ add_servant(servant, 'http://tempuri.org/calcService')
+ end
+end
+
+status = CalcServer.new('CalcServer', nil).start
diff --git a/sample/soap/calc/server.rb b/sample/soap/calc/server.rb
new file mode 100644
index 0000000000..12a3968b5a
--- /dev/null
+++ b/sample/soap/calc/server.rb
@@ -0,0 +1,17 @@
+#!/usr/bin/env ruby
+
+require 'soap/rpc/standaloneServer'
+require 'calc'
+
+class CalcServer < SOAP::RPC::StandaloneServer
+ def initialize(*arg)
+ super
+
+ servant = CalcService
+ add_servant(servant, 'http://tempuri.org/calcService')
+ end
+end
+
+if $0 == __FILE__
+ status = CalcServer.new('CalcServer', nil, '0.0.0.0', 7000).start
+end
diff --git a/sample/soap/calc/server2.rb b/sample/soap/calc/server2.rb
new file mode 100644
index 0000000000..735721de64
--- /dev/null
+++ b/sample/soap/calc/server2.rb
@@ -0,0 +1,20 @@
+#!/usr/bin/env ruby
+
+require 'soap/rpc/standaloneServer'
+require 'calc2'
+
+class CalcServer2 < SOAP::RPC::StandaloneServer
+ def on_init
+ servant = CalcService2.new
+ add_method(servant, 'set', 'newValue')
+ add_method(servant, 'get')
+ add_method_as(servant, '+', 'add', 'lhs')
+ add_method_as(servant, '-', 'sub', 'lhs')
+ add_method_as(servant, '*', 'multi', 'lhs')
+ add_method_as(servant, '/', 'div', 'lhs')
+ end
+end
+
+if $0 == __FILE__
+ status = CalcServer2.new('CalcServer', 'http://tempuri.org/calcService', '0.0.0.0', 7000).start
+end
diff --git a/sample/soap/digraph.rb b/sample/soap/digraph.rb
new file mode 100644
index 0000000000..bf4a650cfe
--- /dev/null
+++ b/sample/soap/digraph.rb
@@ -0,0 +1,43 @@
+require 'soap/marshal'
+
+class Node; include SOAP::Marshallable
+ attr_reader :first, :second, :str
+
+ def initialize(*init_next)
+ @first = init_next[0]
+ @second = init_next[1]
+ end
+end
+
+n9 = Node.new
+n81 = Node.new(n9)
+n82 = Node.new(n9)
+n7 = Node.new(n81, n82)
+n61 = Node.new(n7)
+n62 = Node.new(n7)
+n5 = Node.new(n61, n62)
+n41 = Node.new(n5)
+n42 = Node.new(n5)
+n3 = Node.new(n41, n42)
+n21 = Node.new(n3)
+n22 = Node.new(n3)
+n1 = Node.new(n21, n22)
+
+File.open("digraph_marshalled_string.soap", "wb") do |f|
+ SOAP::Marshal.dump(n1, f)
+end
+
+marshalledString = File.open("digraph_marshalled_string.soap").read
+
+puts marshalledString
+
+newnode = SOAP::Marshal.unmarshal(marshalledString)
+
+puts newnode.inspect
+
+p newnode.first.first.__id__
+p newnode.second.first.__id__
+p newnode.first.first.first.first.__id__
+p newnode.second.first.second.first.__id__
+
+File.unlink("digraph_marshalled_string.soap")
diff --git a/sample/soap/exchange/client.rb b/sample/soap/exchange/client.rb
new file mode 100644
index 0000000000..2aa277afef
--- /dev/null
+++ b/sample/soap/exchange/client.rb
@@ -0,0 +1,19 @@
+#!/usr/bin/env ruby
+
+require "soap/rpc/driver"
+
+ExchangeServiceNamespace = 'http://tempuri.org/exchangeService'
+
+server = ARGV.shift || "http://localhost:7000/"
+# server = "http://localhost:8808/server.cgi"
+
+logger = nil
+wiredump_dev = nil
+# logger = Logger.new(STDERR)
+# wiredump_dev = STDERR
+
+drv = SOAP::RPC::Driver.new(server, ExchangeServiceNamespace)
+drv.wiredump_dev = wiredump_dev
+drv.add_method("rate", "country1", "country2")
+
+p drv.rate("USA", "Japan")
diff --git a/sample/soap/exchange/exchange.rb b/sample/soap/exchange/exchange.rb
new file mode 100644
index 0000000000..00f930deb8
--- /dev/null
+++ b/sample/soap/exchange/exchange.rb
@@ -0,0 +1,17 @@
+require 'soap/rpc/driver'
+
+ExchangeServiceNamespace = 'http://tempuri.org/exchangeService'
+
+class Exchange
+ ForeignServer = "http://services.xmethods.net/soap"
+ Namespace = "urn:xmethods-CurrencyExchange"
+
+ def initialize
+ @drv = SOAP::RPC::Driver.new(ForeignServer, Namespace)
+ @drv.add_method("getRate", "country1", "country2")
+ end
+
+ def rate(country1, country2)
+ return @drv.getRate(country1, country2)
+ end
+end
diff --git a/sample/soap/exchange/httpd.rb b/sample/soap/exchange/httpd.rb
new file mode 100644
index 0000000000..ee8ab09f50
--- /dev/null
+++ b/sample/soap/exchange/httpd.rb
@@ -0,0 +1,15 @@
+#!/usr/bin/env ruby
+
+require 'webrick'
+require 'getopts'
+
+getopts "", 'r:', 'p:8808'
+
+s = WEBrick::HTTPServer.new(
+ :BindAddress => "0.0.0.0",
+ :Port => $OPT_p.to_i,
+ :DocumentRoot => $OPT_r || ".",
+ :CGIPathEnv => ENV['PATH']
+)
+trap(:INT){ s.shutdown }
+s.start
diff --git a/sample/soap/exchange/server.cgi b/sample/soap/exchange/server.cgi
new file mode 100644
index 0000000000..16bc85a042
--- /dev/null
+++ b/sample/soap/exchange/server.cgi
@@ -0,0 +1,14 @@
+#!/usr/local/bin/ruby
+
+require 'soap/rpc/cgistub'
+require 'exchange'
+
+class ExchangeServer < SOAP::RPC::CGIStub
+ def initialize(*arg)
+ super
+ servant = Exchange.new
+ add_servant(servant)
+ end
+end
+
+status = ExchangeServer.new('SampleStructServer', ExchangeServiceNamespace).start
diff --git a/sample/soap/exchange/server.rb b/sample/soap/exchange/server.rb
new file mode 100644
index 0000000000..d510d54a76
--- /dev/null
+++ b/sample/soap/exchange/server.rb
@@ -0,0 +1,16 @@
+#!/usr/bin/env ruby
+
+require 'soap/rpc/standaloneServer'
+require 'exchange'
+
+class ExchangeServer < SOAP::RPC::StandaloneServer
+ def initialize(*arg)
+ super
+ servant = Exchange.new
+ add_servant(servant)
+ end
+end
+
+if $0 == __FILE__
+ status = ExchangeServer.new('SampleStructServer', ExchangeServiceNamespace, '0.0.0.0', 7000).start
+end
diff --git a/sample/soap/helloworld/hw_c.rb b/sample/soap/helloworld/hw_c.rb
new file mode 100644
index 0000000000..253d0a409b
--- /dev/null
+++ b/sample/soap/helloworld/hw_c.rb
@@ -0,0 +1,6 @@
+require 'soap/rpc/driver'
+
+s = SOAP::RPC::Driver.new('http://localhost:2000/', 'urn:hws')
+s.add_method("hello_world", "from")
+
+p s.hello_world(self.to_s)
diff --git a/sample/soap/helloworld/hw_s.rb b/sample/soap/helloworld/hw_s.rb
new file mode 100644
index 0000000000..b917f72fc0
--- /dev/null
+++ b/sample/soap/helloworld/hw_s.rb
@@ -0,0 +1,17 @@
+require 'soap/rpc/standaloneServer'
+
+class HelloWorldServer < SOAP::RPC::StandaloneServer
+ def on_init
+ @log.level = Logger::Severity::DEBUG
+ add_method(self, 'hello_world', 'from')
+ end
+
+ def hello_world(from)
+ "Hello World, from #{ from }"
+ end
+end
+
+if $0 == __FILE__
+ server = HelloWorldServer.new('hws', 'urn:hws', '0.0.0.0', 2000)
+ server.start
+end
diff --git a/sample/soap/icd/IICD.rb b/sample/soap/icd/IICD.rb
new file mode 100644
index 0000000000..3b1fa9b32c
--- /dev/null
+++ b/sample/soap/icd/IICD.rb
@@ -0,0 +1,17 @@
+module IICD
+ # All methods in a single namespace?!
+ InterfaceNS = 'http://www.iwebmethod.net'
+
+ Methods = [
+ ['SearchWord', 'query', 'partial'],
+ ['GetItemById', 'id'],
+ ['EnumWords'],
+ ['FullTextSearch', 'query'],
+ ]
+
+ def IICD.add_method(drv)
+ Methods.each do |method, *param|
+ drv.add_method_with_soapaction(method, InterfaceNS + "/#{ method }", *param )
+ end
+ end
+end
diff --git a/sample/soap/icd/icd.rb b/sample/soap/icd/icd.rb
new file mode 100644
index 0000000000..6e1e51c996
--- /dev/null
+++ b/sample/soap/icd/icd.rb
@@ -0,0 +1,46 @@
+#!/usr/bin/env ruby
+
+$KCODE = 'SJIS'
+
+require 'soap/rpc/driver'
+require 'IICD'; include IICD
+
+server = 'http://www.iwebmethod.net/icd1.0/icd.asmx'
+wiredump_dev = nil # STDERR
+
+icd = SOAP::RPC::Driver.new(server, IICD::InterfaceNS)
+icd.wiredump_dev = wiredump_dev
+icd.default_encodingstyle = SOAP::EncodingStyle::ASPDotNetHandler::Namespace
+IICD::add_method(icd)
+
+puts "キーワード: 'microsoft'で見出し検索"
+result = icd.SearchWord('microsoft', true)
+
+id = nil
+result.WORD.each do |word|
+ puts "Title: " << word.title
+ puts "Id: " << word.id
+ puts "English: " << word.english
+ puts "Japanese: " << word.japanese
+ puts "----"
+ id = word.id
+end
+
+item = icd.GetItemById(id)
+puts
+puts
+puts "Title: " << item.word.title
+puts "意味: " << item.meaning
+
+#p icd.EnumWords
+
+puts
+puts
+puts "キーワード: 'IBM'で全文検索"
+icd.FullTextSearch("IBM").WORD.each do |word|
+ puts "Title: " << word.title
+ puts "Id: " << word.id
+ puts "English: " << word.english
+ puts "Japanese: " << word.japanese
+ puts "----"
+end
diff --git a/sample/soap/raa/iRAA.rb b/sample/soap/raa/iRAA.rb
new file mode 100644
index 0000000000..2b188fb887
--- /dev/null
+++ b/sample/soap/raa/iRAA.rb
@@ -0,0 +1,154 @@
+require 'soap/mapping'
+
+
+module RAA; extend SOAP
+
+
+InterfaceNS = "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"
+MappingRegistry = SOAP::Mapping::Registry.new
+
+Methods = [
+ ['getAllListings', ['retval', 'return']],
+ ['getProductTree', ['retval', 'return']],
+ ['getInfoFromCategory', ['in', 'category'], [ 'retval', 'return']],
+ ['getModifiedInfoSince', ['in', 'time'], [ 'retval', 'return']],
+ ['getInfoFromName', ['in', 'name'], ['retval', 'return']],
+]
+
+
+class Category
+ include SOAP::Marshallable
+
+ @@schema_type = 'Category'
+ @@schema_ns = InterfaceNS
+
+ attr_reader :major, :minor
+
+ def initialize(major, minor = nil)
+ @major = major
+ @minor = minor
+ end
+
+ def to_s
+ "#{ @major }/#{ @minor }"
+ end
+
+ def ==(rhs)
+ if @major != rhs.major
+ false
+ elsif !@minor or !rhs.minor
+ true
+ else
+ @minor == rhs.minor
+ end
+ end
+end
+
+MappingRegistry.set(
+ ::RAA::Category,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new(InterfaceNS, "Category") }
+)
+
+class Product
+ include SOAP::Marshallable
+
+ @@schema_type = 'Product'
+ @@schema_ns = InterfaceNS
+
+ attr_reader :id, :name
+ attr_accessor :short_description, :version, :status, :homepage, :download, :license, :description
+
+ def initialize(name, short_description = nil, version = nil, status = nil, homepage = nil, download = nil, license = nil, description = nil)
+ @name = name
+ @short_description = short_description
+ @version = version
+ @status = status
+ @homepage = homepage
+ @download = download
+ @license = license
+ @description = description
+ end
+end
+
+MappingRegistry.set(
+ ::RAA::Product,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new(InterfaceNS, "Product") }
+)
+
+class Owner
+ include SOAP::Marshallable
+
+ @@schema_type = 'Owner'
+ @@schema_ns = InterfaceNS
+
+ attr_reader :id
+ attr_accessor :email, :name
+
+ def initialize(email, name)
+ @email = email
+ @name = name
+ @id = "#{ @email }-#{ @name }"
+ end
+end
+
+MappingRegistry.set(
+ ::RAA::Owner,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new(InterfaceNS, "Owner") }
+)
+
+class Info
+ include SOAP::Marshallable
+
+ @@schema_type = 'Info'
+ @@schema_ns = InterfaceNS
+
+ attr_accessor :category, :product, :owner, :updated, :created
+
+ def initialize(category = nil, product = nil, owner = nil, updated = nil, created = nil)
+ @category = category
+ @product = product
+ @owner = owner
+ @updated = updated
+ @created = created
+ end
+
+ def <=>(rhs)
+ @updated <=> rhs.updated
+ end
+
+ def eql?(rhs)
+ @product.name == rhs.product.name
+ end
+end
+
+MappingRegistry.set(
+ ::RAA::Info,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new(InterfaceNS, "Info") }
+)
+
+class StringArray < Array; end
+MappingRegistry.set(
+ ::RAA::StringArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::XSDString::Type }
+)
+
+class InfoArray < Array; end
+MappingRegistry.set(
+ ::RAA::InfoArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new(InterfaceNS, 'Info') }
+)
+
+
+end
diff --git a/sample/soap/raa/soap4r.rb b/sample/soap/raa/soap4r.rb
new file mode 100644
index 0000000000..b93d1e7dbe
--- /dev/null
+++ b/sample/soap/raa/soap4r.rb
@@ -0,0 +1,30 @@
+#!/usr/bin/env ruby
+
+require 'iRAA'
+require 'soap/rpc/driver'
+
+
+server = ARGV.shift || 'http://raa.ruby-lang.org/soap/1.0.2/'
+
+raa = SOAP::RPC::Driver.new(server, RAA::InterfaceNS)
+raa.mapping_registry = RAA::MappingRegistry
+RAA::Methods.each do |name, *params|
+ raa.add_method(name, params)
+end
+# raa.wiredump_dev = STDOUT
+
+p raa.getAllListings().sort
+
+p raa.getProductTree()
+
+p raa.getInfoFromCategory(RAA::Category.new("Library", "XML"))
+
+t = Time.at(Time.now.to_i - 24 * 3600)
+p raa.getModifiedInfoSince(t)
+
+p raa.getModifiedInfoSince(DateTime.new(t.year, t.mon, t.mday, t.hour, t.min, t.sec))
+
+o = raa.getInfoFromName("SOAP4R")
+p o.class
+p o.owner.name
+p o
diff --git a/sample/soap/sampleStruct/client.rb b/sample/soap/sampleStruct/client.rb
new file mode 100644
index 0000000000..b55c7fdfc5
--- /dev/null
+++ b/sample/soap/sampleStruct/client.rb
@@ -0,0 +1,16 @@
+require 'soap/rpc/driver'
+
+require 'iSampleStruct'
+
+server = ARGV.shift || 'http://localhost:7000/'
+# server = 'http://localhost:8808/server.cgi'
+
+drv = SOAP::RPC::Driver.new(server, SampleStructServiceNamespace)
+drv.wiredump_dev = STDERR
+drv.add_method('hi', 'sampleStruct')
+
+o1 = SampleStruct.new
+puts "Sending struct: #{ o1.inspect }"
+puts
+o2 = drv.hi(o1)
+puts "Received (wrapped): #{ o2.inspect }"
diff --git a/sample/soap/sampleStruct/httpd.rb b/sample/soap/sampleStruct/httpd.rb
new file mode 100644
index 0000000000..ee8ab09f50
--- /dev/null
+++ b/sample/soap/sampleStruct/httpd.rb
@@ -0,0 +1,15 @@
+#!/usr/bin/env ruby
+
+require 'webrick'
+require 'getopts'
+
+getopts "", 'r:', 'p:8808'
+
+s = WEBrick::HTTPServer.new(
+ :BindAddress => "0.0.0.0",
+ :Port => $OPT_p.to_i,
+ :DocumentRoot => $OPT_r || ".",
+ :CGIPathEnv => ENV['PATH']
+)
+trap(:INT){ s.shutdown }
+s.start
diff --git a/sample/soap/sampleStruct/iSampleStruct.rb b/sample/soap/sampleStruct/iSampleStruct.rb
new file mode 100644
index 0000000000..399ea52eb8
--- /dev/null
+++ b/sample/soap/sampleStruct/iSampleStruct.rb
@@ -0,0 +1,22 @@
+require 'soap/mapping'
+
+SampleStructServiceNamespace = 'http://tempuri.org/sampleStructService'
+
+class SampleStruct; include SOAP::Marshallable
+ attr_accessor :sampleArray
+ attr_accessor :date
+
+ def initialize
+ @sampleArray = SampleArray[ "cyclic", self ]
+ @date = DateTime.now
+ end
+
+ def wrap( rhs )
+ @sampleArray = SampleArray[ "wrap", rhs.dup ]
+ @date = DateTime.now
+ self
+ end
+end
+
+class SampleArray < Array; include SOAP::Marshallable
+end
diff --git a/sample/soap/sampleStruct/sampleStruct.rb b/sample/soap/sampleStruct/sampleStruct.rb
new file mode 100644
index 0000000000..394c1bff09
--- /dev/null
+++ b/sample/soap/sampleStruct/sampleStruct.rb
@@ -0,0 +1,13 @@
+require 'iSampleStruct'
+
+class SampleStructService
+ def hi(struct)
+ ack = SampleStruct.new
+ ack.wrap(struct)
+ ack
+ end
+end
+
+if __FILE__ == $0
+ p SampleStructService.new.hi(SampleStruct.new)
+end
diff --git a/sample/soap/sampleStruct/server.cgi b/sample/soap/sampleStruct/server.cgi
new file mode 100644
index 0000000000..42751386a0
--- /dev/null
+++ b/sample/soap/sampleStruct/server.cgi
@@ -0,0 +1,14 @@
+#!/usr/local/bin/ruby
+
+require 'soap/rpc/cgistub'
+require 'sampleStruct'
+
+class SampleStructServer < SOAP::RPC::CGIStub
+ def initialize(*arg)
+ super
+ servant = SampleStructService.new
+ add_servant(servant)
+ end
+end
+
+status = SampleStructServer.new('SampleStructServer', SampleStructServiceNamespace).start
diff --git a/sample/soap/sampleStruct/server.rb b/sample/soap/sampleStruct/server.rb
new file mode 100644
index 0000000000..3caa31a052
--- /dev/null
+++ b/sample/soap/sampleStruct/server.rb
@@ -0,0 +1,16 @@
+#!/usr/bin/env ruby
+
+require 'soap/rpc/standaloneServer'
+require 'sampleStruct'
+
+class SampleStructServer < SOAP::RPC::StandaloneServer
+ def initialize(*arg)
+ super
+ servant = SampleStructService.new
+ add_servant(servant)
+ end
+end
+
+if $0 == __FILE__
+ status = SampleStructServer.new('SampleStructServer', SampleStructServiceNamespace, '0.0.0.0', 7000).start
+end
diff --git a/sample/wsdl/amazon/AmazonSearch.rb b/sample/wsdl/amazon/AmazonSearch.rb
new file mode 100644
index 0000000000..29397c2d56
--- /dev/null
+++ b/sample/wsdl/amazon/AmazonSearch.rb
@@ -0,0 +1,3701 @@
+# http://soap.amazon.com
+class ProductLineArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ProductLineArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class ProductLine
+ @@schema_type = "ProductLine"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def Mode
+ @mode
+ end
+
+ def Mode=(value)
+ @mode = value
+ end
+
+ def ProductInfo
+ @productInfo
+ end
+
+ def ProductInfo=(value)
+ @productInfo = value
+ end
+
+ def initialize(mode = nil,
+ productInfo = nil)
+ @mode = mode
+ @productInfo = productInfo
+ end
+end
+
+# http://soap.amazon.com
+class ProductInfo
+ @@schema_type = "ProductInfo"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def TotalResults
+ @totalResults
+ end
+
+ def TotalResults=(value)
+ @totalResults = value
+ end
+
+ def TotalPages
+ @totalPages
+ end
+
+ def TotalPages=(value)
+ @totalPages = value
+ end
+
+ def ListName
+ @listName
+ end
+
+ def ListName=(value)
+ @listName = value
+ end
+
+ def Details
+ @details
+ end
+
+ def Details=(value)
+ @details = value
+ end
+
+ def initialize(totalResults = nil,
+ totalPages = nil,
+ listName = nil,
+ details = nil)
+ @totalResults = totalResults
+ @totalPages = totalPages
+ @listName = listName
+ @details = details
+ end
+end
+
+# http://soap.amazon.com
+class DetailsArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "DetailsArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class Details
+ @@schema_type = "Details"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def Url
+ @url
+ end
+
+ def Url=(value)
+ @url = value
+ end
+
+ def Asin
+ @asin
+ end
+
+ def Asin=(value)
+ @asin = value
+ end
+
+ def ProductName
+ @productName
+ end
+
+ def ProductName=(value)
+ @productName = value
+ end
+
+ def Catalog
+ @catalog
+ end
+
+ def Catalog=(value)
+ @catalog = value
+ end
+
+ def KeyPhrases
+ @keyPhrases
+ end
+
+ def KeyPhrases=(value)
+ @keyPhrases = value
+ end
+
+ def Artists
+ @artists
+ end
+
+ def Artists=(value)
+ @artists = value
+ end
+
+ def Authors
+ @authors
+ end
+
+ def Authors=(value)
+ @authors = value
+ end
+
+ def Mpn
+ @mpn
+ end
+
+ def Mpn=(value)
+ @mpn = value
+ end
+
+ def Starring
+ @starring
+ end
+
+ def Starring=(value)
+ @starring = value
+ end
+
+ def Directors
+ @directors
+ end
+
+ def Directors=(value)
+ @directors = value
+ end
+
+ def TheatricalReleaseDate
+ @theatricalReleaseDate
+ end
+
+ def TheatricalReleaseDate=(value)
+ @theatricalReleaseDate = value
+ end
+
+ def ReleaseDate
+ @releaseDate
+ end
+
+ def ReleaseDate=(value)
+ @releaseDate = value
+ end
+
+ def Manufacturer
+ @manufacturer
+ end
+
+ def Manufacturer=(value)
+ @manufacturer = value
+ end
+
+ def Distributor
+ @distributor
+ end
+
+ def Distributor=(value)
+ @distributor = value
+ end
+
+ def ImageUrlSmall
+ @imageUrlSmall
+ end
+
+ def ImageUrlSmall=(value)
+ @imageUrlSmall = value
+ end
+
+ def ImageUrlMedium
+ @imageUrlMedium
+ end
+
+ def ImageUrlMedium=(value)
+ @imageUrlMedium = value
+ end
+
+ def ImageUrlLarge
+ @imageUrlLarge
+ end
+
+ def ImageUrlLarge=(value)
+ @imageUrlLarge = value
+ end
+
+ def ListPrice
+ @listPrice
+ end
+
+ def ListPrice=(value)
+ @listPrice = value
+ end
+
+ def OurPrice
+ @ourPrice
+ end
+
+ def OurPrice=(value)
+ @ourPrice = value
+ end
+
+ def UsedPrice
+ @usedPrice
+ end
+
+ def UsedPrice=(value)
+ @usedPrice = value
+ end
+
+ def RefurbishedPrice
+ @refurbishedPrice
+ end
+
+ def RefurbishedPrice=(value)
+ @refurbishedPrice = value
+ end
+
+ def CollectiblePrice
+ @collectiblePrice
+ end
+
+ def CollectiblePrice=(value)
+ @collectiblePrice = value
+ end
+
+ def ThirdPartyNewPrice
+ @thirdPartyNewPrice
+ end
+
+ def ThirdPartyNewPrice=(value)
+ @thirdPartyNewPrice = value
+ end
+
+ def NumberOfOfferings
+ @numberOfOfferings
+ end
+
+ def NumberOfOfferings=(value)
+ @numberOfOfferings = value
+ end
+
+ def ThirdPartyNewCount
+ @thirdPartyNewCount
+ end
+
+ def ThirdPartyNewCount=(value)
+ @thirdPartyNewCount = value
+ end
+
+ def UsedCount
+ @usedCount
+ end
+
+ def UsedCount=(value)
+ @usedCount = value
+ end
+
+ def CollectibleCount
+ @collectibleCount
+ end
+
+ def CollectibleCount=(value)
+ @collectibleCount = value
+ end
+
+ def RefurbishedCount
+ @refurbishedCount
+ end
+
+ def RefurbishedCount=(value)
+ @refurbishedCount = value
+ end
+
+ def ThirdPartyProductInfo
+ @thirdPartyProductInfo
+ end
+
+ def ThirdPartyProductInfo=(value)
+ @thirdPartyProductInfo = value
+ end
+
+ def SalesRank
+ @salesRank
+ end
+
+ def SalesRank=(value)
+ @salesRank = value
+ end
+
+ def BrowseList
+ @browseList
+ end
+
+ def BrowseList=(value)
+ @browseList = value
+ end
+
+ def Media
+ @media
+ end
+
+ def Media=(value)
+ @media = value
+ end
+
+ def ReadingLevel
+ @readingLevel
+ end
+
+ def ReadingLevel=(value)
+ @readingLevel = value
+ end
+
+ def Publisher
+ @publisher
+ end
+
+ def Publisher=(value)
+ @publisher = value
+ end
+
+ def NumMedia
+ @numMedia
+ end
+
+ def NumMedia=(value)
+ @numMedia = value
+ end
+
+ def Isbn
+ @isbn
+ end
+
+ def Isbn=(value)
+ @isbn = value
+ end
+
+ def Features
+ @features
+ end
+
+ def Features=(value)
+ @features = value
+ end
+
+ def MpaaRating
+ @mpaaRating
+ end
+
+ def MpaaRating=(value)
+ @mpaaRating = value
+ end
+
+ def EsrbRating
+ @esrbRating
+ end
+
+ def EsrbRating=(value)
+ @esrbRating = value
+ end
+
+ def AgeGroup
+ @ageGroup
+ end
+
+ def AgeGroup=(value)
+ @ageGroup = value
+ end
+
+ def Availability
+ @availability
+ end
+
+ def Availability=(value)
+ @availability = value
+ end
+
+ def Upc
+ @upc
+ end
+
+ def Upc=(value)
+ @upc = value
+ end
+
+ def Tracks
+ @tracks
+ end
+
+ def Tracks=(value)
+ @tracks = value
+ end
+
+ def Accessories
+ @accessories
+ end
+
+ def Accessories=(value)
+ @accessories = value
+ end
+
+ def Platforms
+ @platforms
+ end
+
+ def Platforms=(value)
+ @platforms = value
+ end
+
+ def Encoding
+ @encoding
+ end
+
+ def Encoding=(value)
+ @encoding = value
+ end
+
+ def Reviews
+ @reviews
+ end
+
+ def Reviews=(value)
+ @reviews = value
+ end
+
+ def SimilarProducts
+ @similarProducts
+ end
+
+ def SimilarProducts=(value)
+ @similarProducts = value
+ end
+
+ def Lists
+ @lists
+ end
+
+ def Lists=(value)
+ @lists = value
+ end
+
+ def Status
+ @status
+ end
+
+ def Status=(value)
+ @status = value
+ end
+
+ def initialize(url = nil,
+ asin = nil,
+ productName = nil,
+ catalog = nil,
+ keyPhrases = nil,
+ artists = nil,
+ authors = nil,
+ mpn = nil,
+ starring = nil,
+ directors = nil,
+ theatricalReleaseDate = nil,
+ releaseDate = nil,
+ manufacturer = nil,
+ distributor = nil,
+ imageUrlSmall = nil,
+ imageUrlMedium = nil,
+ imageUrlLarge = nil,
+ listPrice = nil,
+ ourPrice = nil,
+ usedPrice = nil,
+ refurbishedPrice = nil,
+ collectiblePrice = nil,
+ thirdPartyNewPrice = nil,
+ numberOfOfferings = nil,
+ thirdPartyNewCount = nil,
+ usedCount = nil,
+ collectibleCount = nil,
+ refurbishedCount = nil,
+ thirdPartyProductInfo = nil,
+ salesRank = nil,
+ browseList = nil,
+ media = nil,
+ readingLevel = nil,
+ publisher = nil,
+ numMedia = nil,
+ isbn = nil,
+ features = nil,
+ mpaaRating = nil,
+ esrbRating = nil,
+ ageGroup = nil,
+ availability = nil,
+ upc = nil,
+ tracks = nil,
+ accessories = nil,
+ platforms = nil,
+ encoding = nil,
+ reviews = nil,
+ similarProducts = nil,
+ lists = nil,
+ status = nil)
+ @url = url
+ @asin = asin
+ @productName = productName
+ @catalog = catalog
+ @keyPhrases = keyPhrases
+ @artists = artists
+ @authors = authors
+ @mpn = mpn
+ @starring = starring
+ @directors = directors
+ @theatricalReleaseDate = theatricalReleaseDate
+ @releaseDate = releaseDate
+ @manufacturer = manufacturer
+ @distributor = distributor
+ @imageUrlSmall = imageUrlSmall
+ @imageUrlMedium = imageUrlMedium
+ @imageUrlLarge = imageUrlLarge
+ @listPrice = listPrice
+ @ourPrice = ourPrice
+ @usedPrice = usedPrice
+ @refurbishedPrice = refurbishedPrice
+ @collectiblePrice = collectiblePrice
+ @thirdPartyNewPrice = thirdPartyNewPrice
+ @numberOfOfferings = numberOfOfferings
+ @thirdPartyNewCount = thirdPartyNewCount
+ @usedCount = usedCount
+ @collectibleCount = collectibleCount
+ @refurbishedCount = refurbishedCount
+ @thirdPartyProductInfo = thirdPartyProductInfo
+ @salesRank = salesRank
+ @browseList = browseList
+ @media = media
+ @readingLevel = readingLevel
+ @publisher = publisher
+ @numMedia = numMedia
+ @isbn = isbn
+ @features = features
+ @mpaaRating = mpaaRating
+ @esrbRating = esrbRating
+ @ageGroup = ageGroup
+ @availability = availability
+ @upc = upc
+ @tracks = tracks
+ @accessories = accessories
+ @platforms = platforms
+ @encoding = encoding
+ @reviews = reviews
+ @similarProducts = similarProducts
+ @lists = lists
+ @status = status
+ end
+end
+
+# http://soap.amazon.com
+class KeyPhraseArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "KeyPhraseArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class KeyPhrase
+ @@schema_type = "KeyPhrase"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def KeyPhrase
+ @keyPhrase
+ end
+
+ def KeyPhrase=(value)
+ @keyPhrase = value
+ end
+
+ def Type
+ @type
+ end
+
+ def Type=(value)
+ @type = value
+ end
+
+ def initialize(keyPhrase = nil,
+ type = nil)
+ @keyPhrase = keyPhrase
+ @type = type
+ end
+end
+
+# http://soap.amazon.com
+class ArtistArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ArtistArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class AuthorArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "AuthorArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class StarringArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "StarringArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class DirectorArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "DirectorArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class BrowseNodeArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "BrowseNodeArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class BrowseNode
+ @@schema_type = "BrowseNode"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def BrowseId
+ @browseId
+ end
+
+ def BrowseId=(value)
+ @browseId = value
+ end
+
+ def BrowseName
+ @browseName
+ end
+
+ def BrowseName=(value)
+ @browseName = value
+ end
+
+ def initialize(browseId = nil,
+ browseName = nil)
+ @browseId = browseId
+ @browseName = browseName
+ end
+end
+
+# http://soap.amazon.com
+class FeaturesArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "FeaturesArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class TrackArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "TrackArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class Track
+ @@schema_type = "Track"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def TrackName
+ @trackName
+ end
+
+ def TrackName=(value)
+ @trackName = value
+ end
+
+ def ByArtist
+ @byArtist
+ end
+
+ def ByArtist=(value)
+ @byArtist = value
+ end
+
+ def initialize(trackName = nil,
+ byArtist = nil)
+ @trackName = trackName
+ @byArtist = byArtist
+ end
+end
+
+# http://soap.amazon.com
+class AccessoryArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "AccessoryArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class PlatformArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "PlatformArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class Reviews
+ @@schema_type = "Reviews"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def AvgCustomerRating
+ @avgCustomerRating
+ end
+
+ def AvgCustomerRating=(value)
+ @avgCustomerRating = value
+ end
+
+ def TotalCustomerReviews
+ @totalCustomerReviews
+ end
+
+ def TotalCustomerReviews=(value)
+ @totalCustomerReviews = value
+ end
+
+ def CustomerReviews
+ @customerReviews
+ end
+
+ def CustomerReviews=(value)
+ @customerReviews = value
+ end
+
+ def initialize(avgCustomerRating = nil,
+ totalCustomerReviews = nil,
+ customerReviews = nil)
+ @avgCustomerRating = avgCustomerRating
+ @totalCustomerReviews = totalCustomerReviews
+ @customerReviews = customerReviews
+ end
+end
+
+# http://soap.amazon.com
+class CustomerReviewArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "CustomerReviewArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class CustomerReview
+ @@schema_type = "CustomerReview"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def Rating
+ @rating
+ end
+
+ def Rating=(value)
+ @rating = value
+ end
+
+ def Summary
+ @summary
+ end
+
+ def Summary=(value)
+ @summary = value
+ end
+
+ def Comment
+ @comment
+ end
+
+ def Comment=(value)
+ @comment = value
+ end
+
+ def initialize(rating = nil,
+ summary = nil,
+ comment = nil)
+ @rating = rating
+ @summary = summary
+ @comment = comment
+ end
+end
+
+# http://soap.amazon.com
+class SimilarProductsArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "SimilarProductsArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class ListArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ListArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class MarketplaceSearch
+ @@schema_type = "MarketplaceSearch"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def MarketplaceSearchDetails
+ @marketplaceSearchDetails
+ end
+
+ def MarketplaceSearchDetails=(value)
+ @marketplaceSearchDetails = value
+ end
+
+ def initialize(marketplaceSearchDetails = nil)
+ @marketplaceSearchDetails = marketplaceSearchDetails
+ end
+end
+
+# http://soap.amazon.com
+class SellerProfile
+ @@schema_type = "SellerProfile"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def SellerProfileDetails
+ @sellerProfileDetails
+ end
+
+ def SellerProfileDetails=(value)
+ @sellerProfileDetails = value
+ end
+
+ def initialize(sellerProfileDetails = nil)
+ @sellerProfileDetails = sellerProfileDetails
+ end
+end
+
+# http://soap.amazon.com
+class SellerSearch
+ @@schema_type = "SellerSearch"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def SellerSearchDetails
+ @sellerSearchDetails
+ end
+
+ def SellerSearchDetails=(value)
+ @sellerSearchDetails = value
+ end
+
+ def initialize(sellerSearchDetails = nil)
+ @sellerSearchDetails = sellerSearchDetails
+ end
+end
+
+# http://soap.amazon.com
+class MarketplaceSearchDetails
+ @@schema_type = "MarketplaceSearchDetails"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def NumberOfOpenListings
+ @numberOfOpenListings
+ end
+
+ def NumberOfOpenListings=(value)
+ @numberOfOpenListings = value
+ end
+
+ def ListingProductInfo
+ @listingProductInfo
+ end
+
+ def ListingProductInfo=(value)
+ @listingProductInfo = value
+ end
+
+ def initialize(numberOfOpenListings = nil,
+ listingProductInfo = nil)
+ @numberOfOpenListings = numberOfOpenListings
+ @listingProductInfo = listingProductInfo
+ end
+end
+
+# http://soap.amazon.com
+class MarketplaceSearchDetailsArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "MarketplaceSearchDetailsArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class SellerProfileDetails
+ @@schema_type = "SellerProfileDetails"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def SellerNickname
+ @sellerNickname
+ end
+
+ def SellerNickname=(value)
+ @sellerNickname = value
+ end
+
+ def OverallFeedbackRating
+ @overallFeedbackRating
+ end
+
+ def OverallFeedbackRating=(value)
+ @overallFeedbackRating = value
+ end
+
+ def NumberOfFeedback
+ @numberOfFeedback
+ end
+
+ def NumberOfFeedback=(value)
+ @numberOfFeedback = value
+ end
+
+ def NumberOfCanceledBids
+ @numberOfCanceledBids
+ end
+
+ def NumberOfCanceledBids=(value)
+ @numberOfCanceledBids = value
+ end
+
+ def NumberOfCanceledAuctions
+ @numberOfCanceledAuctions
+ end
+
+ def NumberOfCanceledAuctions=(value)
+ @numberOfCanceledAuctions = value
+ end
+
+ def StoreId
+ @storeId
+ end
+
+ def StoreId=(value)
+ @storeId = value
+ end
+
+ def StoreName
+ @storeName
+ end
+
+ def StoreName=(value)
+ @storeName = value
+ end
+
+ def SellerFeedback
+ @sellerFeedback
+ end
+
+ def SellerFeedback=(value)
+ @sellerFeedback = value
+ end
+
+ def initialize(sellerNickname = nil,
+ overallFeedbackRating = nil,
+ numberOfFeedback = nil,
+ numberOfCanceledBids = nil,
+ numberOfCanceledAuctions = nil,
+ storeId = nil,
+ storeName = nil,
+ sellerFeedback = nil)
+ @sellerNickname = sellerNickname
+ @overallFeedbackRating = overallFeedbackRating
+ @numberOfFeedback = numberOfFeedback
+ @numberOfCanceledBids = numberOfCanceledBids
+ @numberOfCanceledAuctions = numberOfCanceledAuctions
+ @storeId = storeId
+ @storeName = storeName
+ @sellerFeedback = sellerFeedback
+ end
+end
+
+# http://soap.amazon.com
+class SellerProfileDetailsArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "SellerProfileDetailsArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class SellerSearchDetails
+ @@schema_type = "SellerSearchDetails"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def SellerNickname
+ @sellerNickname
+ end
+
+ def SellerNickname=(value)
+ @sellerNickname = value
+ end
+
+ def StoreId
+ @storeId
+ end
+
+ def StoreId=(value)
+ @storeId = value
+ end
+
+ def StoreName
+ @storeName
+ end
+
+ def StoreName=(value)
+ @storeName = value
+ end
+
+ def NumberOfOpenListings
+ @numberOfOpenListings
+ end
+
+ def NumberOfOpenListings=(value)
+ @numberOfOpenListings = value
+ end
+
+ def ListingProductInfo
+ @listingProductInfo
+ end
+
+ def ListingProductInfo=(value)
+ @listingProductInfo = value
+ end
+
+ def initialize(sellerNickname = nil,
+ storeId = nil,
+ storeName = nil,
+ numberOfOpenListings = nil,
+ listingProductInfo = nil)
+ @sellerNickname = sellerNickname
+ @storeId = storeId
+ @storeName = storeName
+ @numberOfOpenListings = numberOfOpenListings
+ @listingProductInfo = listingProductInfo
+ end
+end
+
+# http://soap.amazon.com
+class SellerSearchDetailsArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "SellerSearchDetailsArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class ListingProductInfo
+ @@schema_type = "ListingProductInfo"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def ListingProductDetails
+ @listingProductDetails
+ end
+
+ def ListingProductDetails=(value)
+ @listingProductDetails = value
+ end
+
+ def initialize(listingProductDetails = nil)
+ @listingProductDetails = listingProductDetails
+ end
+end
+
+# http://soap.amazon.com
+class ListingProductDetailsArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ListingProductDetailsArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class ListingProductDetails
+ @@schema_type = "ListingProductDetails"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def ExchangeId
+ @exchangeId
+ end
+
+ def ExchangeId=(value)
+ @exchangeId = value
+ end
+
+ def ListingId
+ @listingId
+ end
+
+ def ListingId=(value)
+ @listingId = value
+ end
+
+ def ExchangeTitle
+ @exchangeTitle
+ end
+
+ def ExchangeTitle=(value)
+ @exchangeTitle = value
+ end
+
+ def ExchangePrice
+ @exchangePrice
+ end
+
+ def ExchangePrice=(value)
+ @exchangePrice = value
+ end
+
+ def ExchangeAsin
+ @exchangeAsin
+ end
+
+ def ExchangeAsin=(value)
+ @exchangeAsin = value
+ end
+
+ def ExchangeEndDate
+ @exchangeEndDate
+ end
+
+ def ExchangeEndDate=(value)
+ @exchangeEndDate = value
+ end
+
+ def ExchangeTinyImage
+ @exchangeTinyImage
+ end
+
+ def ExchangeTinyImage=(value)
+ @exchangeTinyImage = value
+ end
+
+ def ExchangeSellerId
+ @exchangeSellerId
+ end
+
+ def ExchangeSellerId=(value)
+ @exchangeSellerId = value
+ end
+
+ def ExchangeSellerNickname
+ @exchangeSellerNickname
+ end
+
+ def ExchangeSellerNickname=(value)
+ @exchangeSellerNickname = value
+ end
+
+ def ExchangeStartDate
+ @exchangeStartDate
+ end
+
+ def ExchangeStartDate=(value)
+ @exchangeStartDate = value
+ end
+
+ def ExchangeStatus
+ @exchangeStatus
+ end
+
+ def ExchangeStatus=(value)
+ @exchangeStatus = value
+ end
+
+ def ExchangeQuantity
+ @exchangeQuantity
+ end
+
+ def ExchangeQuantity=(value)
+ @exchangeQuantity = value
+ end
+
+ def ExchangeQuantityAllocated
+ @exchangeQuantityAllocated
+ end
+
+ def ExchangeQuantityAllocated=(value)
+ @exchangeQuantityAllocated = value
+ end
+
+ def ExchangeFeaturedCategory
+ @exchangeFeaturedCategory
+ end
+
+ def ExchangeFeaturedCategory=(value)
+ @exchangeFeaturedCategory = value
+ end
+
+ def ExchangeCondition
+ @exchangeCondition
+ end
+
+ def ExchangeCondition=(value)
+ @exchangeCondition = value
+ end
+
+ def ExchangeConditionType
+ @exchangeConditionType
+ end
+
+ def ExchangeConditionType=(value)
+ @exchangeConditionType = value
+ end
+
+ def ExchangeAvailability
+ @exchangeAvailability
+ end
+
+ def ExchangeAvailability=(value)
+ @exchangeAvailability = value
+ end
+
+ def ExchangeOfferingType
+ @exchangeOfferingType
+ end
+
+ def ExchangeOfferingType=(value)
+ @exchangeOfferingType = value
+ end
+
+ def ExchangeSellerState
+ @exchangeSellerState
+ end
+
+ def ExchangeSellerState=(value)
+ @exchangeSellerState = value
+ end
+
+ def ExchangeSellerCountry
+ @exchangeSellerCountry
+ end
+
+ def ExchangeSellerCountry=(value)
+ @exchangeSellerCountry = value
+ end
+
+ def ExchangeSellerRating
+ @exchangeSellerRating
+ end
+
+ def ExchangeSellerRating=(value)
+ @exchangeSellerRating = value
+ end
+
+ def initialize(exchangeId = nil,
+ listingId = nil,
+ exchangeTitle = nil,
+ exchangePrice = nil,
+ exchangeAsin = nil,
+ exchangeEndDate = nil,
+ exchangeTinyImage = nil,
+ exchangeSellerId = nil,
+ exchangeSellerNickname = nil,
+ exchangeStartDate = nil,
+ exchangeStatus = nil,
+ exchangeQuantity = nil,
+ exchangeQuantityAllocated = nil,
+ exchangeFeaturedCategory = nil,
+ exchangeCondition = nil,
+ exchangeConditionType = nil,
+ exchangeAvailability = nil,
+ exchangeOfferingType = nil,
+ exchangeSellerState = nil,
+ exchangeSellerCountry = nil,
+ exchangeSellerRating = nil)
+ @exchangeId = exchangeId
+ @listingId = listingId
+ @exchangeTitle = exchangeTitle
+ @exchangePrice = exchangePrice
+ @exchangeAsin = exchangeAsin
+ @exchangeEndDate = exchangeEndDate
+ @exchangeTinyImage = exchangeTinyImage
+ @exchangeSellerId = exchangeSellerId
+ @exchangeSellerNickname = exchangeSellerNickname
+ @exchangeStartDate = exchangeStartDate
+ @exchangeStatus = exchangeStatus
+ @exchangeQuantity = exchangeQuantity
+ @exchangeQuantityAllocated = exchangeQuantityAllocated
+ @exchangeFeaturedCategory = exchangeFeaturedCategory
+ @exchangeCondition = exchangeCondition
+ @exchangeConditionType = exchangeConditionType
+ @exchangeAvailability = exchangeAvailability
+ @exchangeOfferingType = exchangeOfferingType
+ @exchangeSellerState = exchangeSellerState
+ @exchangeSellerCountry = exchangeSellerCountry
+ @exchangeSellerRating = exchangeSellerRating
+ end
+end
+
+# http://soap.amazon.com
+class SellerFeedback
+ @@schema_type = "SellerFeedback"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def Feedback
+ @feedback
+ end
+
+ def Feedback=(value)
+ @feedback = value
+ end
+
+ def initialize(feedback = nil)
+ @feedback = feedback
+ end
+end
+
+# http://soap.amazon.com
+class FeedbackArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "FeedbackArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class Feedback
+ @@schema_type = "Feedback"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def FeedbackRating
+ @feedbackRating
+ end
+
+ def FeedbackRating=(value)
+ @feedbackRating = value
+ end
+
+ def FeedbackComments
+ @feedbackComments
+ end
+
+ def FeedbackComments=(value)
+ @feedbackComments = value
+ end
+
+ def FeedbackDate
+ @feedbackDate
+ end
+
+ def FeedbackDate=(value)
+ @feedbackDate = value
+ end
+
+ def FeedbackRater
+ @feedbackRater
+ end
+
+ def FeedbackRater=(value)
+ @feedbackRater = value
+ end
+
+ def initialize(feedbackRating = nil,
+ feedbackComments = nil,
+ feedbackDate = nil,
+ feedbackRater = nil)
+ @feedbackRating = feedbackRating
+ @feedbackComments = feedbackComments
+ @feedbackDate = feedbackDate
+ @feedbackRater = feedbackRater
+ end
+end
+
+# http://soap.amazon.com
+class ThirdPartyProductInfo
+ @@schema_type = "ThirdPartyProductInfo"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def ThirdPartyProductDetails
+ @thirdPartyProductDetails
+ end
+
+ def ThirdPartyProductDetails=(value)
+ @thirdPartyProductDetails = value
+ end
+
+ def initialize(thirdPartyProductDetails = nil)
+ @thirdPartyProductDetails = thirdPartyProductDetails
+ end
+end
+
+# http://soap.amazon.com
+class ThirdPartyProductDetailsArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ThirdPartyProductDetailsArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class ThirdPartyProductDetails
+ @@schema_type = "ThirdPartyProductDetails"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def OfferingType
+ @offeringType
+ end
+
+ def OfferingType=(value)
+ @offeringType = value
+ end
+
+ def SellerId
+ @sellerId
+ end
+
+ def SellerId=(value)
+ @sellerId = value
+ end
+
+ def SellerNickname
+ @sellerNickname
+ end
+
+ def SellerNickname=(value)
+ @sellerNickname = value
+ end
+
+ def ExchangeId
+ @exchangeId
+ end
+
+ def ExchangeId=(value)
+ @exchangeId = value
+ end
+
+ def OfferingPrice
+ @offeringPrice
+ end
+
+ def OfferingPrice=(value)
+ @offeringPrice = value
+ end
+
+ def Condition
+ @condition
+ end
+
+ def Condition=(value)
+ @condition = value
+ end
+
+ def ConditionType
+ @conditionType
+ end
+
+ def ConditionType=(value)
+ @conditionType = value
+ end
+
+ def ExchangeAvailability
+ @exchangeAvailability
+ end
+
+ def ExchangeAvailability=(value)
+ @exchangeAvailability = value
+ end
+
+ def SellerCountry
+ @sellerCountry
+ end
+
+ def SellerCountry=(value)
+ @sellerCountry = value
+ end
+
+ def SellerState
+ @sellerState
+ end
+
+ def SellerState=(value)
+ @sellerState = value
+ end
+
+ def ShipComments
+ @shipComments
+ end
+
+ def ShipComments=(value)
+ @shipComments = value
+ end
+
+ def SellerRating
+ @sellerRating
+ end
+
+ def SellerRating=(value)
+ @sellerRating = value
+ end
+
+ def initialize(offeringType = nil,
+ sellerId = nil,
+ sellerNickname = nil,
+ exchangeId = nil,
+ offeringPrice = nil,
+ condition = nil,
+ conditionType = nil,
+ exchangeAvailability = nil,
+ sellerCountry = nil,
+ sellerState = nil,
+ shipComments = nil,
+ sellerRating = nil)
+ @offeringType = offeringType
+ @sellerId = sellerId
+ @sellerNickname = sellerNickname
+ @exchangeId = exchangeId
+ @offeringPrice = offeringPrice
+ @condition = condition
+ @conditionType = conditionType
+ @exchangeAvailability = exchangeAvailability
+ @sellerCountry = sellerCountry
+ @sellerState = sellerState
+ @shipComments = shipComments
+ @sellerRating = sellerRating
+ end
+end
+
+# http://soap.amazon.com
+class KeywordRequest
+ @@schema_type = "KeywordRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def keyword
+ @keyword
+ end
+
+ def keyword=(value)
+ @keyword = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(keyword = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @keyword = keyword
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class PowerRequest
+ @@schema_type = "PowerRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def power
+ @power
+ end
+
+ def power=(value)
+ @power = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(power = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @power = power
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class BrowseNodeRequest
+ @@schema_type = "BrowseNodeRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def browse_node
+ @browse_node
+ end
+
+ def browse_node=(value)
+ @browse_node = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(browse_node = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ locale = nil)
+ @browse_node = browse_node
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class AsinRequest
+ @@schema_type = "AsinRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def asin
+ @asin
+ end
+
+ def asin=(value)
+ @asin = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def offer
+ @offer
+ end
+
+ def offer=(value)
+ @offer = value
+ end
+
+ def offerpage
+ @offerpage
+ end
+
+ def offerpage=(value)
+ @offerpage = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(asin = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ offer = nil,
+ offerpage = nil,
+ locale = nil)
+ @asin = asin
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @offer = offer
+ @offerpage = offerpage
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class BlendedRequest
+ @@schema_type = "BlendedRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def blended
+ @blended
+ end
+
+ def blended=(value)
+ @blended = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(blended = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ locale = nil)
+ @blended = blended
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class UpcRequest
+ @@schema_type = "UpcRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def upc
+ @upc
+ end
+
+ def upc=(value)
+ @upc = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(upc = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @upc = upc
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ArtistRequest
+ @@schema_type = "ArtistRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def artist
+ @artist
+ end
+
+ def artist=(value)
+ @artist = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(artist = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @artist = artist
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class AuthorRequest
+ @@schema_type = "AuthorRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def author
+ @author
+ end
+
+ def author=(value)
+ @author = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(author = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @author = author
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ActorRequest
+ @@schema_type = "ActorRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def actor
+ @actor
+ end
+
+ def actor=(value)
+ @actor = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(actor = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @actor = actor
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class DirectorRequest
+ @@schema_type = "DirectorRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def director
+ @director
+ end
+
+ def director=(value)
+ @director = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(director = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @director = director
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ExchangeRequest
+ @@schema_type = "ExchangeRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def exchange_id
+ @exchange_id
+ end
+
+ def exchange_id=(value)
+ @exchange_id = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(exchange_id = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ locale = nil)
+ @exchange_id = exchange_id
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ManufacturerRequest
+ @@schema_type = "ManufacturerRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def manufacturer
+ @manufacturer
+ end
+
+ def manufacturer=(value)
+ @manufacturer = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def mode
+ @mode
+ end
+
+ def mode=(value)
+ @mode = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def variations
+ @variations
+ end
+
+ def variations=(value)
+ @variations = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(manufacturer = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil,
+ variations = nil,
+ locale = nil)
+ @manufacturer = manufacturer
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ @variations = variations
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ListManiaRequest
+ @@schema_type = "ListManiaRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def lm_id
+ @lm_id
+ end
+
+ def lm_id=(value)
+ @lm_id = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(lm_id = nil,
+ page = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ locale = nil)
+ @lm_id = lm_id
+ @page = page
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class WishlistRequest
+ @@schema_type = "WishlistRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def wishlist_id
+ @wishlist_id
+ end
+
+ def wishlist_id=(value)
+ @wishlist_id = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(wishlist_id = nil,
+ page = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ locale = nil)
+ @wishlist_id = wishlist_id
+ @page = page
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class MarketplaceRequest
+ @@schema_type = "MarketplaceRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def marketplace_search
+ @marketplace_search
+ end
+
+ def marketplace_search=(value)
+ @marketplace_search = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def keyword
+ @keyword
+ end
+
+ def keyword=(value)
+ @keyword = value
+ end
+
+ def keyword_search
+ @keyword_search
+ end
+
+ def keyword_search=(value)
+ @keyword_search = value
+ end
+
+ def browse_id
+ @browse_id
+ end
+
+ def browse_id=(value)
+ @browse_id = value
+ end
+
+ def zipcode
+ @zipcode
+ end
+
+ def zipcode=(value)
+ @zipcode = value
+ end
+
+ def area_id
+ @area_id
+ end
+
+ def area_id=(value)
+ @area_id = value
+ end
+
+ def geo
+ @geo
+ end
+
+ def geo=(value)
+ @geo = value
+ end
+
+ def sort
+ @sort
+ end
+
+ def sort=(value)
+ @sort = value
+ end
+
+ def listing_id
+ @listing_id
+ end
+
+ def listing_id=(value)
+ @listing_id = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def index
+ @index
+ end
+
+ def index=(value)
+ @index = value
+ end
+
+ def initialize(marketplace_search = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ page = nil,
+ keyword = nil,
+ keyword_search = nil,
+ browse_id = nil,
+ zipcode = nil,
+ area_id = nil,
+ geo = nil,
+ sort = nil,
+ listing_id = nil,
+ locale = nil,
+ index = nil)
+ @marketplace_search = marketplace_search
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @page = page
+ @keyword = keyword
+ @keyword_search = keyword_search
+ @browse_id = browse_id
+ @zipcode = zipcode
+ @area_id = area_id
+ @geo = geo
+ @sort = sort
+ @listing_id = listing_id
+ @locale = locale
+ @index = index
+ end
+end
+
+# http://soap.amazon.com
+class SellerProfileRequest
+ @@schema_type = "SellerProfileRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def seller_id
+ @seller_id
+ end
+
+ def seller_id=(value)
+ @seller_id = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(seller_id = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ page = nil,
+ locale = nil)
+ @seller_id = seller_id
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @page = page
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class SellerRequest
+ @@schema_type = "SellerRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def seller_id
+ @seller_id
+ end
+
+ def seller_id=(value)
+ @seller_id = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def offerstatus
+ @offerstatus
+ end
+
+ def offerstatus=(value)
+ @offerstatus = value
+ end
+
+ def page
+ @page
+ end
+
+ def page=(value)
+ @page = value
+ end
+
+ def seller_browse_id
+ @seller_browse_id
+ end
+
+ def seller_browse_id=(value)
+ @seller_browse_id = value
+ end
+
+ def keyword
+ @keyword
+ end
+
+ def keyword=(value)
+ @keyword = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def index
+ @index
+ end
+
+ def index=(value)
+ @index = value
+ end
+
+ def initialize(seller_id = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ offerstatus = nil,
+ page = nil,
+ seller_browse_id = nil,
+ keyword = nil,
+ locale = nil,
+ index = nil)
+ @seller_id = seller_id
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @offerstatus = offerstatus
+ @page = page
+ @seller_browse_id = seller_browse_id
+ @keyword = keyword
+ @locale = locale
+ @index = index
+ end
+end
+
+# http://soap.amazon.com
+class SimilarityRequest
+ @@schema_type = "SimilarityRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def asin
+ @asin
+ end
+
+ def asin=(value)
+ @asin = value
+ end
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def type
+ @type
+ end
+
+ def type=(value)
+ @type = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(asin = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ locale = nil)
+ @asin = asin
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ItemIdArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ItemIdArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class ItemArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ItemArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class Item
+ @@schema_type = "Item"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def ItemId
+ @itemId
+ end
+
+ def ItemId=(value)
+ @itemId = value
+ end
+
+ def ProductName
+ @productName
+ end
+
+ def ProductName=(value)
+ @productName = value
+ end
+
+ def Catalog
+ @catalog
+ end
+
+ def Catalog=(value)
+ @catalog = value
+ end
+
+ def Asin
+ @asin
+ end
+
+ def Asin=(value)
+ @asin = value
+ end
+
+ def ExchangeId
+ @exchangeId
+ end
+
+ def ExchangeId=(value)
+ @exchangeId = value
+ end
+
+ def Quantity
+ @quantity
+ end
+
+ def Quantity=(value)
+ @quantity = value
+ end
+
+ def ListPrice
+ @listPrice
+ end
+
+ def ListPrice=(value)
+ @listPrice = value
+ end
+
+ def OurPrice
+ @ourPrice
+ end
+
+ def OurPrice=(value)
+ @ourPrice = value
+ end
+
+ def initialize(itemId = nil,
+ productName = nil,
+ catalog = nil,
+ asin = nil,
+ exchangeId = nil,
+ quantity = nil,
+ listPrice = nil,
+ ourPrice = nil)
+ @itemId = itemId
+ @productName = productName
+ @catalog = catalog
+ @asin = asin
+ @exchangeId = exchangeId
+ @quantity = quantity
+ @listPrice = listPrice
+ @ourPrice = ourPrice
+ end
+end
+
+# http://soap.amazon.com
+class ItemQuantityArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ItemQuantityArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class ItemQuantity
+ @@schema_type = "ItemQuantity"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def ItemId
+ @itemId
+ end
+
+ def ItemId=(value)
+ @itemId = value
+ end
+
+ def Quantity
+ @quantity
+ end
+
+ def Quantity=(value)
+ @quantity = value
+ end
+
+ def initialize(itemId = nil,
+ quantity = nil)
+ @itemId = itemId
+ @quantity = quantity
+ end
+end
+
+# http://soap.amazon.com
+class AddItemArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "AddItemArray"
+ @@schema_ns = "http://soap.amazon.com"
+end
+
+# http://soap.amazon.com
+class AddItem
+ @@schema_type = "AddItem"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def Asin
+ @asin
+ end
+
+ def Asin=(value)
+ @asin = value
+ end
+
+ def ExchangeId
+ @exchangeId
+ end
+
+ def ExchangeId=(value)
+ @exchangeId = value
+ end
+
+ def Quantity
+ @quantity
+ end
+
+ def Quantity=(value)
+ @quantity = value
+ end
+
+ def initialize(asin = nil,
+ exchangeId = nil,
+ quantity = nil)
+ @asin = asin
+ @exchangeId = exchangeId
+ @quantity = quantity
+ end
+end
+
+# http://soap.amazon.com
+class ShoppingCart
+ @@schema_type = "ShoppingCart"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def CartId
+ @cartId
+ end
+
+ def CartId=(value)
+ @cartId = value
+ end
+
+ def HMAC
+ @hMAC
+ end
+
+ def HMAC=(value)
+ @hMAC = value
+ end
+
+ def PurchaseUrl
+ @purchaseUrl
+ end
+
+ def PurchaseUrl=(value)
+ @purchaseUrl = value
+ end
+
+ def Items
+ @items
+ end
+
+ def Items=(value)
+ @items = value
+ end
+
+ def initialize(cartId = nil,
+ hMAC = nil,
+ purchaseUrl = nil,
+ items = nil)
+ @cartId = cartId
+ @hMAC = hMAC
+ @purchaseUrl = purchaseUrl
+ @items = items
+ end
+end
+
+# http://soap.amazon.com
+class GetShoppingCartRequest
+ @@schema_type = "GetShoppingCartRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def CartId
+ @cartId
+ end
+
+ def CartId=(value)
+ @cartId = value
+ end
+
+ def HMAC
+ @hMAC
+ end
+
+ def HMAC=(value)
+ @hMAC = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(tag = nil,
+ devtag = nil,
+ cartId = nil,
+ hMAC = nil,
+ locale = nil)
+ @tag = tag
+ @devtag = devtag
+ @cartId = cartId
+ @hMAC = hMAC
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ClearShoppingCartRequest
+ @@schema_type = "ClearShoppingCartRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def CartId
+ @cartId
+ end
+
+ def CartId=(value)
+ @cartId = value
+ end
+
+ def HMAC
+ @hMAC
+ end
+
+ def HMAC=(value)
+ @hMAC = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(tag = nil,
+ devtag = nil,
+ cartId = nil,
+ hMAC = nil,
+ locale = nil)
+ @tag = tag
+ @devtag = devtag
+ @cartId = cartId
+ @hMAC = hMAC
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class AddShoppingCartItemsRequest
+ @@schema_type = "AddShoppingCartItemsRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def CartId
+ @cartId
+ end
+
+ def CartId=(value)
+ @cartId = value
+ end
+
+ def HMAC
+ @hMAC
+ end
+
+ def HMAC=(value)
+ @hMAC = value
+ end
+
+ def Items
+ @items
+ end
+
+ def Items=(value)
+ @items = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(tag = nil,
+ devtag = nil,
+ cartId = nil,
+ hMAC = nil,
+ items = nil,
+ locale = nil)
+ @tag = tag
+ @devtag = devtag
+ @cartId = cartId
+ @hMAC = hMAC
+ @items = items
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class RemoveShoppingCartItemsRequest
+ @@schema_type = "RemoveShoppingCartItemsRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def CartId
+ @cartId
+ end
+
+ def CartId=(value)
+ @cartId = value
+ end
+
+ def HMAC
+ @hMAC
+ end
+
+ def HMAC=(value)
+ @hMAC = value
+ end
+
+ def Items
+ @items
+ end
+
+ def Items=(value)
+ @items = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(tag = nil,
+ devtag = nil,
+ cartId = nil,
+ hMAC = nil,
+ items = nil,
+ locale = nil)
+ @tag = tag
+ @devtag = devtag
+ @cartId = cartId
+ @hMAC = hMAC
+ @items = items
+ @locale = locale
+ end
+end
+
+# http://soap.amazon.com
+class ModifyShoppingCartItemsRequest
+ @@schema_type = "ModifyShoppingCartItemsRequest"
+ @@schema_ns = "http://soap.amazon.com"
+
+ def tag
+ @tag
+ end
+
+ def tag=(value)
+ @tag = value
+ end
+
+ def devtag
+ @devtag
+ end
+
+ def devtag=(value)
+ @devtag = value
+ end
+
+ def CartId
+ @cartId
+ end
+
+ def CartId=(value)
+ @cartId = value
+ end
+
+ def HMAC
+ @hMAC
+ end
+
+ def HMAC=(value)
+ @hMAC = value
+ end
+
+ def Items
+ @items
+ end
+
+ def Items=(value)
+ @items = value
+ end
+
+ def locale
+ @locale
+ end
+
+ def locale=(value)
+ @locale = value
+ end
+
+ def initialize(tag = nil,
+ devtag = nil,
+ cartId = nil,
+ hMAC = nil,
+ items = nil,
+ locale = nil)
+ @tag = tag
+ @devtag = devtag
+ @cartId = cartId
+ @hMAC = hMAC
+ @items = items
+ @locale = locale
+ end
+end
+
diff --git a/sample/wsdl/amazon/AmazonSearchDriver.rb b/sample/wsdl/amazon/AmazonSearchDriver.rb
new file mode 100644
index 0000000000..bf532b75a5
--- /dev/null
+++ b/sample/wsdl/amazon/AmazonSearchDriver.rb
@@ -0,0 +1,445 @@
+require 'AmazonSearch.rb'
+
+require 'soap/rpc/driver'
+
+class AmazonSearchPort < SOAP::RPC::Driver
+ MappingRegistry = ::SOAP::Mapping::Registry.new
+
+ MappingRegistry.set(
+ KeywordRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "KeywordRequest") }
+ )
+ MappingRegistry.set(
+ ProductInfo,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ProductInfo") }
+ )
+ MappingRegistry.set(
+ DetailsArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "Details") }
+ )
+ MappingRegistry.set(
+ PowerRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "PowerRequest") }
+ )
+ MappingRegistry.set(
+ BrowseNodeRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "BrowseNodeRequest") }
+ )
+ MappingRegistry.set(
+ AsinRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "AsinRequest") }
+ )
+ MappingRegistry.set(
+ BlendedRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "BlendedRequest") }
+ )
+ MappingRegistry.set(
+ ProductLineArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ProductLine") }
+ )
+ MappingRegistry.set(
+ UpcRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "UpcRequest") }
+ )
+ MappingRegistry.set(
+ AuthorRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "AuthorRequest") }
+ )
+ MappingRegistry.set(
+ ArtistRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ArtistRequest") }
+ )
+ MappingRegistry.set(
+ ActorRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ActorRequest") }
+ )
+ MappingRegistry.set(
+ ManufacturerRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ManufacturerRequest") }
+ )
+ MappingRegistry.set(
+ DirectorRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "DirectorRequest") }
+ )
+ MappingRegistry.set(
+ ListManiaRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ListManiaRequest") }
+ )
+ MappingRegistry.set(
+ WishlistRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "WishlistRequest") }
+ )
+ MappingRegistry.set(
+ ExchangeRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ExchangeRequest") }
+ )
+ MappingRegistry.set(
+ ListingProductDetails,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ListingProductDetails") }
+ )
+ MappingRegistry.set(
+ MarketplaceRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "MarketplaceRequest") }
+ )
+ MappingRegistry.set(
+ MarketplaceSearch,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "MarketplaceSearch") }
+ )
+ MappingRegistry.set(
+ MarketplaceSearchDetailsArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "MarketplaceSearchDetails") }
+ )
+ MappingRegistry.set(
+ SellerProfileRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerProfileRequest") }
+ )
+ MappingRegistry.set(
+ SellerProfile,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerProfile") }
+ )
+ MappingRegistry.set(
+ SellerProfileDetailsArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerProfileDetails") }
+ )
+ MappingRegistry.set(
+ SellerRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerRequest") }
+ )
+ MappingRegistry.set(
+ SellerSearch,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerSearch") }
+ )
+ MappingRegistry.set(
+ SellerSearchDetailsArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerSearchDetails") }
+ )
+ MappingRegistry.set(
+ SimilarityRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SimilarityRequest") }
+ )
+ MappingRegistry.set(
+ GetShoppingCartRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "GetShoppingCartRequest") }
+ )
+ MappingRegistry.set(
+ ShoppingCart,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ShoppingCart") }
+ )
+ MappingRegistry.set(
+ ItemArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "Item") }
+ )
+ MappingRegistry.set(
+ ClearShoppingCartRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ClearShoppingCartRequest") }
+ )
+ MappingRegistry.set(
+ AddShoppingCartItemsRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "AddShoppingCartItemsRequest") }
+ )
+ MappingRegistry.set(
+ AddItemArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "AddItem") }
+ )
+ MappingRegistry.set(
+ RemoveShoppingCartItemsRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "RemoveShoppingCartItemsRequest") }
+ )
+ MappingRegistry.set(
+ ItemIdArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://www.w3.org/2001/XMLSchema", "string") }
+ )
+ MappingRegistry.set(
+ ModifyShoppingCartItemsRequest,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ModifyShoppingCartItemsRequest") }
+ )
+ MappingRegistry.set(
+ ItemQuantityArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ItemQuantity") }
+ )
+ MappingRegistry.set(
+ Details,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "Details") }
+ )
+ MappingRegistry.set(
+ ProductLine,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ProductLine") }
+ )
+ MappingRegistry.set(
+ MarketplaceSearchDetails,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "MarketplaceSearchDetails") }
+ )
+ MappingRegistry.set(
+ SellerProfileDetails,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerProfileDetails") }
+ )
+ MappingRegistry.set(
+ SellerSearchDetails,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "SellerSearchDetails") }
+ )
+ MappingRegistry.set(
+ Item,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "Item") }
+ )
+ MappingRegistry.set(
+ AddItem,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "AddItem") }
+ )
+ MappingRegistry.set(
+ ItemQuantity,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://soap.amazon.com", "ItemQuantity") }
+ )
+
+ Methods = [
+ ["KeywordSearchRequest", "keywordSearchRequest", [
+ ["in", "KeywordSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "KeywordRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["PowerSearchRequest", "powerSearchRequest", [
+ ["in", "PowerSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "PowerRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["BrowseNodeSearchRequest", "browseNodeSearchRequest", [
+ ["in", "BrowseNodeSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "BrowseNodeRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["AsinSearchRequest", "asinSearchRequest", [
+ ["in", "AsinSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "AsinRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["BlendedSearchRequest", "blendedSearchRequest", [
+ ["in", "BlendedSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "BlendedRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPArray, "http://soap.amazon.com", "ProductLine"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["UpcSearchRequest", "upcSearchRequest", [
+ ["in", "UpcSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "UpcRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["AuthorSearchRequest", "authorSearchRequest", [
+ ["in", "AuthorSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "AuthorRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["ArtistSearchRequest", "artistSearchRequest", [
+ ["in", "ArtistSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ArtistRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["ActorSearchRequest", "actorSearchRequest", [
+ ["in", "ActorSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ActorRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["ManufacturerSearchRequest", "manufacturerSearchRequest", [
+ ["in", "ManufacturerSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ManufacturerRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["DirectorSearchRequest", "directorSearchRequest", [
+ ["in", "DirectorSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "DirectorRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["ListManiaSearchRequest", "listManiaSearchRequest", [
+ ["in", "ListManiaSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ListManiaRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["WishlistSearchRequest", "wishlistSearchRequest", [
+ ["in", "WishlistSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "WishlistRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["ExchangeSearchRequest", "exchangeSearchRequest", [
+ ["in", "ExchangeSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ExchangeRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ListingProductDetails"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["MarketplaceSearchRequest", "marketplaceSearchRequest", [
+ ["in", "MarketplaceSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "MarketplaceRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "MarketplaceSearch"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["SellerProfileSearchRequest", "sellerProfileSearchRequest", [
+ ["in", "SellerProfileSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "SellerProfileRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "SellerProfile"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["SellerSearchRequest", "sellerSearchRequest", [
+ ["in", "SellerSearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "SellerRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "SellerSearch"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["SimilaritySearchRequest", "similaritySearchRequest", [
+ ["in", "SimilaritySearchRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "SimilarityRequest"]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ProductInfo"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["GetShoppingCartRequest", "getShoppingCartRequest", [
+ ["in", "GetShoppingCartRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "GetShoppingCartRequest"]],
+ ["retval", "ShoppingCart",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ShoppingCart"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["ClearShoppingCartRequest", "clearShoppingCartRequest", [
+ ["in", "ClearShoppingCartRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ClearShoppingCartRequest"]],
+ ["retval", "ShoppingCart",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ShoppingCart"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["AddShoppingCartItemsRequest", "addShoppingCartItemsRequest", [
+ ["in", "AddShoppingCartItemsRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "AddShoppingCartItemsRequest"]],
+ ["retval", "ShoppingCart",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ShoppingCart"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["RemoveShoppingCartItemsRequest", "removeShoppingCartItemsRequest", [
+ ["in", "RemoveShoppingCartItemsRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "RemoveShoppingCartItemsRequest"]],
+ ["retval", "ShoppingCart",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ShoppingCart"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"],
+ ["ModifyShoppingCartItemsRequest", "modifyShoppingCartItemsRequest", [
+ ["in", "ModifyShoppingCartItemsRequest",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ModifyShoppingCartItemsRequest"]],
+ ["retval", "ShoppingCart",
+ [::SOAP::SOAPStruct, "http://soap.amazon.com", "ShoppingCart"]]],
+ "http://soap.amazon.com", "http://soap.amazon.com"]
+ ]
+
+ DefaultEndpointUrl = "http://soap.amazon.com/onca/soap2"
+
+ def initialize(endpoint_url = nil)
+ endpoint_url ||= DefaultEndpointUrl
+ super(endpoint_url, nil)
+ self.mapping_registry = MappingRegistry
+ init_methods
+ end
+
+private
+
+ def init_methods
+ Methods.each do |name_as, name, params, soapaction, namespace|
+ qname = XSD::QName.new(namespace, name_as)
+ @proxy.add_method(qname, soapaction, name, params)
+ add_rpc_method_interface(name, params)
+ end
+ end
+end
+
diff --git a/sample/wsdl/amazon/sampleClient.rb b/sample/wsdl/amazon/sampleClient.rb
new file mode 100644
index 0000000000..71bafd7345
--- /dev/null
+++ b/sample/wsdl/amazon/sampleClient.rb
@@ -0,0 +1,37 @@
+#!/usr/bin/env ruby
+
+# This file is a sample based on AmazonSearchServiceClient.rb, which can be
+# generated by WSDL file and wsdl2ruby.rb.
+#
+# $ wsdl2ruby.rb --type client --force \
+# --wsdl http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
+#
+# See wsdlDriver.rb to use WSDL file directly (slow).
+require 'AmazonSearchDriver.rb'
+
+endpoint_url = ARGV.shift
+obj = AmazonSearchPort.new(endpoint_url)
+
+# Uncomment the below line to see SOAP wiredumps.
+# obj.wiredump_dev = STDERR
+
+# SYNOPSIS
+# KeywordSearchRequest(keywordSearchRequest)
+#
+# ARGS
+# keywordSearchRequest KeywordRequest - {urn:PI/DevCentral/SoapService}KeywordRequest
+#
+# RETURNS
+# return ProductInfo - {urn:PI/DevCentral/SoapService}ProductInfo
+#
+# RAISES
+# N/A
+#
+keywordSearchRequest = KeywordRequest.new("Ruby Object", "1", "books", "webservices-20", "lite", "", "+salesrank")
+obj.keywordSearchRequest(keywordSearchRequest).Details.each do |detail|
+ puts "== #{detail.ProductName}"
+ puts "Author: #{detail.Authors.join(", ")}"
+ puts "Release date: #{detail.ReleaseDate}"
+ puts "List price: #{detail.ListPrice}, our price: #{detail.OurPrice}"
+ puts
+end
diff --git a/sample/wsdl/amazon/wsdlDriver.rb b/sample/wsdl/amazon/wsdlDriver.rb
new file mode 100644
index 0000000000..baf55a4968
--- /dev/null
+++ b/sample/wsdl/amazon/wsdlDriver.rb
@@ -0,0 +1,48 @@
+require 'soap/wsdlDriver'
+
+book = ARGV.shift || "Ruby"
+
+# AmazonSearch.rb is generated from WSDL.
+# Run "wsdl2ruby.rb --wsdl http://soap.amazon.com/schemas2/AmazonWebServices.wsdl --classDef --force"
+require 'AmazonSearch.rb'
+
+=begin
+Or, define the class by yourself like this.
+
+class KeywordRequest
+ def initialize(keyword = nil,
+ page = nil,
+ mode = nil,
+ tag = nil,
+ type = nil,
+ devtag = nil,
+ sort = nil)
+ @keyword = keyword
+ @page = page
+ @mode = mode
+ @tag = tag
+ @type = type
+ @devtag = devtag
+ @sort = sort
+ end
+end
+=end
+
+# You must get 'developer's token" from http://associates.amazon.com/exec/panama/associates/ntg/browse/-/1067662 to use Amazon Web Services 2.0.
+#devtag = File.open(File.expand_path("~/.amazon_key")).read.chomp
+
+AMAZON_WSDL = 'http://soap.amazon.com/schemas2/AmazonWebServices.wsdl'
+amazon = SOAP::WSDLDriverFactory.new(AMAZON_WSDL).create_driver
+p "WSDL loaded"
+amazon.generate_explicit_type = true
+#amazon.wiredump_dev = STDERR
+
+# Show sales rank.
+req = KeywordRequest.new(book, "1", "books", "webservices-20", "lite", devtag, "+salesrank")
+amazon.KeywordSearchRequest(req).Details.each do |detail|
+ puts "== #{detail.ProductName}"
+ puts "Author: #{detail.Authors.join(", ")}"
+ puts "Release date: #{detail.ReleaseDate}"
+ puts "List price: #{detail.ListPrice}, our price: #{detail.OurPrice}"
+ puts
+end
diff --git a/sample/wsdl/googleSearch/GoogleSearch.rb b/sample/wsdl/googleSearch/GoogleSearch.rb
new file mode 100644
index 0000000000..e124208b91
--- /dev/null
+++ b/sample/wsdl/googleSearch/GoogleSearch.rb
@@ -0,0 +1,258 @@
+# urn:GoogleSearch
+class GoogleSearchResult
+ @@schema_type = "GoogleSearchResult"
+ @@schema_ns = "urn:GoogleSearch"
+
+ def documentFiltering
+ @documentFiltering
+ end
+
+ def documentFiltering=(value)
+ @documentFiltering = value
+ end
+
+ def searchComments
+ @searchComments
+ end
+
+ def searchComments=(value)
+ @searchComments = value
+ end
+
+ def estimatedTotalResultsCount
+ @estimatedTotalResultsCount
+ end
+
+ def estimatedTotalResultsCount=(value)
+ @estimatedTotalResultsCount = value
+ end
+
+ def estimateIsExact
+ @estimateIsExact
+ end
+
+ def estimateIsExact=(value)
+ @estimateIsExact = value
+ end
+
+ def resultElements
+ @resultElements
+ end
+
+ def resultElements=(value)
+ @resultElements = value
+ end
+
+ def searchQuery
+ @searchQuery
+ end
+
+ def searchQuery=(value)
+ @searchQuery = value
+ end
+
+ def startIndex
+ @startIndex
+ end
+
+ def startIndex=(value)
+ @startIndex = value
+ end
+
+ def endIndex
+ @endIndex
+ end
+
+ def endIndex=(value)
+ @endIndex = value
+ end
+
+ def searchTips
+ @searchTips
+ end
+
+ def searchTips=(value)
+ @searchTips = value
+ end
+
+ def directoryCategories
+ @directoryCategories
+ end
+
+ def directoryCategories=(value)
+ @directoryCategories = value
+ end
+
+ def searchTime
+ @searchTime
+ end
+
+ def searchTime=(value)
+ @searchTime = value
+ end
+
+ def initialize(documentFiltering = nil,
+ searchComments = nil,
+ estimatedTotalResultsCount = nil,
+ estimateIsExact = nil,
+ resultElements = nil,
+ searchQuery = nil,
+ startIndex = nil,
+ endIndex = nil,
+ searchTips = nil,
+ directoryCategories = nil,
+ searchTime = nil)
+ @documentFiltering = documentFiltering
+ @searchComments = searchComments
+ @estimatedTotalResultsCount = estimatedTotalResultsCount
+ @estimateIsExact = estimateIsExact
+ @resultElements = resultElements
+ @searchQuery = searchQuery
+ @startIndex = startIndex
+ @endIndex = endIndex
+ @searchTips = searchTips
+ @directoryCategories = directoryCategories
+ @searchTime = searchTime
+ end
+end
+
+# urn:GoogleSearch
+class ResultElement
+ @@schema_type = "ResultElement"
+ @@schema_ns = "urn:GoogleSearch"
+
+ def summary
+ @summary
+ end
+
+ def summary=(value)
+ @summary = value
+ end
+
+ def URL
+ @uRL
+ end
+
+ def URL=(value)
+ @uRL = value
+ end
+
+ def snippet
+ @snippet
+ end
+
+ def snippet=(value)
+ @snippet = value
+ end
+
+ def title
+ @title
+ end
+
+ def title=(value)
+ @title = value
+ end
+
+ def cachedSize
+ @cachedSize
+ end
+
+ def cachedSize=(value)
+ @cachedSize = value
+ end
+
+ def relatedInformationPresent
+ @relatedInformationPresent
+ end
+
+ def relatedInformationPresent=(value)
+ @relatedInformationPresent = value
+ end
+
+ def hostName
+ @hostName
+ end
+
+ def hostName=(value)
+ @hostName = value
+ end
+
+ def directoryCategory
+ @directoryCategory
+ end
+
+ def directoryCategory=(value)
+ @directoryCategory = value
+ end
+
+ def directoryTitle
+ @directoryTitle
+ end
+
+ def directoryTitle=(value)
+ @directoryTitle = value
+ end
+
+ def initialize(summary = nil,
+ uRL = nil,
+ snippet = nil,
+ title = nil,
+ cachedSize = nil,
+ relatedInformationPresent = nil,
+ hostName = nil,
+ directoryCategory = nil,
+ directoryTitle = nil)
+ @summary = summary
+ @uRL = uRL
+ @snippet = snippet
+ @title = title
+ @cachedSize = cachedSize
+ @relatedInformationPresent = relatedInformationPresent
+ @hostName = hostName
+ @directoryCategory = directoryCategory
+ @directoryTitle = directoryTitle
+ end
+end
+
+# urn:GoogleSearch
+class ResultElementArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ResultElementArray"
+ @@schema_ns = "urn:GoogleSearch"
+end
+
+# urn:GoogleSearch
+class DirectoryCategoryArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "DirectoryCategoryArray"
+ @@schema_ns = "urn:GoogleSearch"
+end
+
+# urn:GoogleSearch
+class DirectoryCategory
+ @@schema_type = "DirectoryCategory"
+ @@schema_ns = "urn:GoogleSearch"
+
+ def fullViewableName
+ @fullViewableName
+ end
+
+ def fullViewableName=(value)
+ @fullViewableName = value
+ end
+
+ def specialEncoding
+ @specialEncoding
+ end
+
+ def specialEncoding=(value)
+ @specialEncoding = value
+ end
+
+ def initialize(fullViewableName = nil,
+ specialEncoding = nil)
+ @fullViewableName = fullViewableName
+ @specialEncoding = specialEncoding
+ end
+end
+
diff --git a/sample/wsdl/googleSearch/GoogleSearchDriver.rb b/sample/wsdl/googleSearch/GoogleSearchDriver.rb
new file mode 100644
index 0000000000..9901b89071
--- /dev/null
+++ b/sample/wsdl/googleSearch/GoogleSearchDriver.rb
@@ -0,0 +1,101 @@
+require 'GoogleSearch.rb'
+
+require 'soap/rpc/driver'
+
+class GoogleSearchPort < SOAP::RPC::Driver
+ MappingRegistry = ::SOAP::Mapping::Registry.new
+
+ MappingRegistry.set(
+ GoogleSearchResult,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("urn:GoogleSearch", "GoogleSearchResult") }
+ )
+ MappingRegistry.set(
+ ResultElementArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("urn:GoogleSearch", "ResultElement") }
+ )
+ MappingRegistry.set(
+ DirectoryCategoryArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("urn:GoogleSearch", "DirectoryCategory") }
+ )
+ MappingRegistry.set(
+ ResultElement,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("urn:GoogleSearch", "ResultElement") }
+ )
+ MappingRegistry.set(
+ DirectoryCategory,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("urn:GoogleSearch", "DirectoryCategory") }
+ )
+
+ Methods = [
+ ["doGetCachedPage", "doGetCachedPage", [
+ ["in", "key",
+ [SOAP::SOAPString]],
+ ["in", "url",
+ [SOAP::SOAPString]],
+ ["retval", "return",
+ [SOAP::SOAPBase64]]],
+ "urn:GoogleSearchAction", "urn:GoogleSearch"],
+ ["doSpellingSuggestion", "doSpellingSuggestion", [
+ ["in", "key",
+ [SOAP::SOAPString]],
+ ["in", "phrase",
+ [SOAP::SOAPString]],
+ ["retval", "return",
+ [SOAP::SOAPString]]],
+ "urn:GoogleSearchAction", "urn:GoogleSearch"],
+ ["doGoogleSearch", "doGoogleSearch", [
+ ["in", "key",
+ [SOAP::SOAPString]],
+ ["in", "q",
+ [SOAP::SOAPString]],
+ ["in", "start",
+ [SOAP::SOAPInt]],
+ ["in", "maxResults",
+ [SOAP::SOAPInt]],
+ ["in", "filter",
+ [SOAP::SOAPBoolean]],
+ ["in", "restrict",
+ [SOAP::SOAPString]],
+ ["in", "safeSearch",
+ [SOAP::SOAPBoolean]],
+ ["in", "lr",
+ [SOAP::SOAPString]],
+ ["in", "ie",
+ [SOAP::SOAPString]],
+ ["in", "oe",
+ [SOAP::SOAPString]],
+ ["retval", "return",
+ [::SOAP::SOAPStruct, "urn:GoogleSearch", "GoogleSearchResult"]]],
+ "urn:GoogleSearchAction", "urn:GoogleSearch"]
+ ]
+
+ DefaultEndpointUrl = "http://api.google.com/search/beta2"
+
+ def initialize(endpoint_url = nil)
+ endpoint_url ||= DefaultEndpointUrl
+ super(endpoint_url, nil)
+ self.mapping_registry = MappingRegistry
+ init_methods
+ end
+
+private
+
+ def init_methods
+ Methods.each do |name_as, name, params, soapaction, namespace|
+ qname = XSD::QName.new(namespace, name_as)
+ @proxy.add_method(qname, soapaction, name, params)
+ add_rpc_method_interface(name, params)
+ end
+ end
+end
+
diff --git a/sample/wsdl/googleSearch/README b/sample/wsdl/googleSearch/README
new file mode 100644
index 0000000000..461a5634dc
--- /dev/null
+++ b/sample/wsdl/googleSearch/README
@@ -0,0 +1,6 @@
+wsdlDriver.rb: Do google search using WSDL.
+
+Whole files except wsdl.rb in this directory is created by wsdl2ruby.rb from
+GoogleSearch.wsdl with options;
+
+% wsdl2ruby.rb --wsdl http://api.google.com/GoogleSearch.wsdl --classdef --client_skelton --servant_skelton --cgi_stub --standalone_server_stub --driver --force
diff --git a/sample/wsdl/googleSearch/httpd.rb b/sample/wsdl/googleSearch/httpd.rb
new file mode 100644
index 0000000000..ee8ab09f50
--- /dev/null
+++ b/sample/wsdl/googleSearch/httpd.rb
@@ -0,0 +1,15 @@
+#!/usr/bin/env ruby
+
+require 'webrick'
+require 'getopts'
+
+getopts "", 'r:', 'p:8808'
+
+s = WEBrick::HTTPServer.new(
+ :BindAddress => "0.0.0.0",
+ :Port => $OPT_p.to_i,
+ :DocumentRoot => $OPT_r || ".",
+ :CGIPathEnv => ENV['PATH']
+)
+trap(:INT){ s.shutdown }
+s.start
diff --git a/sample/wsdl/googleSearch/sampleClient.rb b/sample/wsdl/googleSearch/sampleClient.rb
new file mode 100644
index 0000000000..38e7253ef5
--- /dev/null
+++ b/sample/wsdl/googleSearch/sampleClient.rb
@@ -0,0 +1,56 @@
+#!/usr/bin/env ruby
+
+# This file is a sample based on GoogleSearchClient.rb, which can be
+# generated by WSDL file and wsdl2ruby.rb.
+#
+# $ wsdl2ruby.rb --type client --force \
+# --wsdl http://api.google.com/GoogleSearch.wsdl
+#
+# See wsdlDriver.rb to use WSDL file directly (slow).
+require 'GoogleSearchDriver.rb'
+
+endpoint_url = ARGV.shift
+obj = GoogleSearchPort.new(endpoint_url)
+
+# Uncomment the below line to see SOAP wiredumps.
+# obj.wiredump_dev = STDERR
+
+# SYNOPSIS
+# doGoogleSearch(key, q, start, maxResults, filter, restrict, safeSearch, lr, ie, oe)
+#
+# ARGS
+# key - {http://www.w3.org/2001/XMLSchema}string
+# q - {http://www.w3.org/2001/XMLSchema}string
+# start - {http://www.w3.org/2001/XMLSchema}int
+# maxResults - {http://www.w3.org/2001/XMLSchema}int
+# filter - {http://www.w3.org/2001/XMLSchema}boolean
+# restrict - {http://www.w3.org/2001/XMLSchema}string
+# safeSearch - {http://www.w3.org/2001/XMLSchema}boolean
+# lr - {http://www.w3.org/2001/XMLSchema}string
+# ie - {http://www.w3.org/2001/XMLSchema}string
+# oe - {http://www.w3.org/2001/XMLSchema}string
+#
+# RETURNS
+# return GoogleSearchResult - {urn:GoogleSearch}GoogleSearchResult
+#
+# RAISES
+# N/A
+#
+key = q = start = maxResults = filter = restrict = safeSearch = lr = ie = oe = nil
+key = File.open(File.expand_path("~/.google_key")).read.chomp
+q = "Ruby"
+start = 0
+maxResults = 10
+filter = false
+restrict = ""
+safeSearch = false
+lr = ""
+ie = "utf-8"
+oe = "utf-8"
+result = obj.doGoogleSearch(key, q, start, maxResults, filter, restrict, safeSearch, lr, ie, oe)
+
+result.resultElements.each do |ele|
+ puts "== #{ele.title}: #{ele.URL}"
+ puts ele.snippet
+ puts
+end
diff --git a/sample/wsdl/googleSearch/sjissearch.sh b/sample/wsdl/googleSearch/sjissearch.sh
new file mode 100644
index 0000000000..b8efb20647
--- /dev/null
+++ b/sample/wsdl/googleSearch/sjissearch.sh
@@ -0,0 +1,3 @@
+#!/bin/sh -
+
+ruby -Ks wsdlDriver.rb 'Ruby なひ'
diff --git a/sample/wsdl/googleSearch/wsdlDriver.rb b/sample/wsdl/googleSearch/wsdlDriver.rb
new file mode 100644
index 0000000000..e8b91abfe2
--- /dev/null
+++ b/sample/wsdl/googleSearch/wsdlDriver.rb
@@ -0,0 +1,23 @@
+#require 'uconv'
+require 'soap/wsdlDriver'
+
+word = ARGV.shift
+# You must get key from http://www.google.com/apis/ to use Google Web APIs.
+key = File.open(File.expand_path("~/.google_key")).read.chomp
+
+GOOGLE_WSDL = 'http://api.google.com/GoogleSearch.wsdl'
+# GOOGLE_WSDL = 'GoogleSearch.wsdl'
+
+def html2rd(str)
+ str.gsub(%r(<b>(.*?)</b>), '((*\\1*))').strip
+end
+
+
+google = SOAP::WSDLDriverFactory.new(GOOGLE_WSDL).create_driver
+#google.wiredump_dev = STDERR
+result = google.doGoogleSearch( key, word, 0, 10, false, "", false, "", 'utf-8', 'utf-8' )
+result.resultElements.each do |ele|
+ puts "== #{html2rd(ele.title)}: #{ele.URL}"
+ puts html2rd(ele.snippet)
+ puts
+end
diff --git a/sample/wsdl/raa/raa.wsdl b/sample/wsdl/raa/raa.wsdl
new file mode 100644
index 0000000000..78376893dd
--- /dev/null
+++ b/sample/wsdl/raa/raa.wsdl
@@ -0,0 +1,264 @@
+<?xml version="1.0"?>
+<definitions
+ name="RAA"
+ targetNamespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"
+ xmlns:tns="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"
+ xmlns:txd="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:apachesoap="http://xml.apache.org/xml-soap">
+
+ <types>
+ <schema
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/">
+
+ <complexType name="Category">
+ <all>
+ <element name="major" type="string"/>
+ <element name="minor" type="string"/>
+ </all>
+ </complexType>
+
+ <complexType name="Product">
+ <all>
+ <element name="id" type="int"/>
+ <element name="name" type="string"/>
+ <element name="short_description" type="string"/>
+ <element name="version" type="string"/>
+ <element name="status" type="string"/>
+ <element name="homepage" type="anyURI"/>
+ <element name="download" type="anyURI"/>
+ <element name="license" type="string"/>
+ <element name="description" type="string"/>
+ </all>
+ </complexType>
+
+ <complexType name="Owner">
+ <all>
+ <element name="id" type="int"/>
+ <element name="email" type="anyURI"/>
+ <element name="name" type="string"/>
+ </all>
+ </complexType>
+
+ <complexType name="Info">
+ <all>
+ <element name="category" type="txd:Category"/>
+ <element name="product" type="txd:Product"/>
+ <element name="owner" type="txd:Owner"/>
+ <element name="created" type="xsd:dateTime"/>
+ <element name="updated" type="xsd:dateTime"/>
+ </all>
+ </complexType>
+
+ <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
+ <complexType name="InfoArray">
+ <complexContent>
+ <restriction base="soapenc:Array">
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="txd:Info[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+
+ <complexType name="StringArray">
+ <complexContent>
+ <restriction base="soapenc:Array">
+ <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
+ </restriction>
+ </complexContent>
+ </complexType>
+ </schema>
+
+ <!-- type definition for ApacheSOAP's Map -->
+ <schema
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://xml.apache.org/xml-soap">
+ <complexType name="Map">
+ <sequence>
+ <element name="item" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="key" type="anyType" />
+ <element name="value" type="anyType" />
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </schema>
+ </types>
+
+ <message name="getAllListingsRequest"/>
+ <message name="getAllListingsResponse">
+ <part name="return" type="txd:StringArray"/>
+ </message>
+
+ <message name="getProductTreeRequest"/>
+ <message name="getProductTreeResponse">
+ <part name="return" type="apachesoap:Map"/>
+ </message>
+
+ <message name="getInfoFromCategoryRequest">
+ <part name="category" type="txd:Category"/>
+ </message>
+ <message name="getInfoFromCategoryResponse">
+ <part name="return" type="txd:InfoArray"/>
+ </message>
+
+ <message name="getModifiedInfoSinceRequest">
+ <part name="timeInstant" type="xsd:dateTime"/>
+ </message>
+ <message name="getModifiedInfoSinceResponse">
+ <part name="return" type="txd:InfoArray"/>
+ </message>
+
+ <message name="getInfoFromNameRequest">
+ <part name="productName" type="xsd:string"/>
+ </message>
+ <message name="getInfoFromNameResponse">
+ <part name="return" type="txd:Info"/>
+ </message>
+
+ <message name="getInfoFromOwnerIdRequest">
+ <part name="ownerId" type="xsd:int"/>
+ </message>
+ <message name="getInfoFromOwnerIdResponse">
+ <part name="return" type="txd:InfoArray"/>
+ </message>
+
+ <portType name="RAABaseServicePortType">
+ <operation name="getAllListings"
+ parameterOrder="">
+ <input message="tns:getAllListingsRequest"/>
+ <output message="tns:getAllListingsResponse"/>
+ </operation>
+
+ <operation name="getProductTree"
+ parameterOrder="">
+ <input message="tns:getProductTreeRequest"/>
+ <output message="tns:getProductTreeResponse"/>
+ </operation>
+
+ <operation name="getInfoFromCategory"
+ parameterOrder="category">
+ <input message="tns:getInfoFromCategoryRequest"/>
+ <output message="tns:getInfoFromCategoryResponse"/>
+ </operation>
+
+ <operation name="getModifiedInfoSince"
+ parameterOrder="timeInstant">
+ <input message="tns:getModifiedInfoSinceRequest"/>
+ <output message="tns:getModifiedInfoSinceResponse"/>
+ </operation>
+
+ <operation name="getInfoFromName"
+ parameterOrder="productName">
+ <input message="tns:getInfoFromNameRequest"/>
+ <output message="tns:getInfoFromNameResponse"/>
+ </operation>
+
+ <operation name="getInfoFromOwnerId"
+ parameterOrder="ownerId">
+ <input message="tns:getInfoFromOwnerIdRequest"/>
+ <output message="tns:getInfoFromOwnerIdResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="RAABaseServicePortBinding" type="tns:RAABaseServicePortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <operation name="getAllListings">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </input>
+ <output>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </output>
+ </operation>
+
+ <operation name="getProductTree">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </input>
+ <output>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </output>
+ </operation>
+
+ <operation name="getInfoFromCategory">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </input>
+ <output>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </output>
+ </operation>
+
+ <operation name="getModifiedInfoSince">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </input>
+ <output>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </output>
+ </operation>
+
+ <operation name="getInfoFromName">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </input>
+ <output>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </output>
+ </operation>
+
+ <operation name="getInfoFromOwnerId">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </input>
+ <output>
+ <soap:body use="encoded"
+ encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
+ namespace="http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/"/>
+ </output>
+ </operation>
+ </binding>
+
+ <service name="RAAService">
+ <port name="RAABaseServicePort" binding="tns:RAABaseServicePortBinding">
+ <soap:address location="http://raa.ruby-lang.org/soap/1.0.2/"/>
+ </port>
+ </service>
+</definitions>
diff --git a/sample/wsdl/raa/soap4r.rb b/sample/wsdl/raa/soap4r.rb
new file mode 100644
index 0000000000..a70b3b5b21
--- /dev/null
+++ b/sample/wsdl/raa/soap4r.rb
@@ -0,0 +1,31 @@
+#!/usr/bin/env ruby
+
+require 'soap/wsdlDriver'
+wsdl = 'http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.2/'
+raa = SOAP::WSDLDriverFactory.new(wsdl).create_driver
+raa.generate_explicit_type = true
+p "WSDL loaded."
+
+class Category
+ def initialize(major, minor)
+ @major = major
+ @minor = minor
+ end
+end
+
+p raa.getAllListings().sort
+
+p raa.getProductTree()
+
+p raa.getInfoFromCategory(Category.new("Library", "XML"))
+
+t = Time.at(Time.now.to_i - 24 * 3600)
+p raa.getModifiedInfoSince(t)
+
+p raa.getModifiedInfoSince(DateTime.new(t.year, t.mon, t.mday, t.hour, t.min, t.sec))
+
+o = raa.getInfoFromName("SOAP4R")
+p o.type
+p o.owner.name
+p o
+