From db9445103c082a306ba085f7677da02ea94b8841 Mon Sep 17 00:00:00 2001 From: nahi Date: Wed, 24 Sep 2003 15:18:44 +0000 Subject: * 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 --- sample/soap/babelfish.rb | 16 + sample/soap/calc/calc.rb | 17 + sample/soap/calc/calc2.rb | 29 + sample/soap/calc/client.rb | 26 + sample/soap/calc/client2.rb | 29 + sample/soap/calc/httpd.rb | 15 + sample/soap/calc/server.cgi | 15 + sample/soap/calc/server.rb | 17 + sample/soap/calc/server2.rb | 20 + sample/soap/digraph.rb | 43 + sample/soap/exchange/client.rb | 19 + sample/soap/exchange/exchange.rb | 17 + sample/soap/exchange/httpd.rb | 15 + sample/soap/exchange/server.cgi | 14 + sample/soap/exchange/server.rb | 16 + sample/soap/helloworld/hw_c.rb | 6 + sample/soap/helloworld/hw_s.rb | 17 + sample/soap/icd/IICD.rb | 17 + sample/soap/icd/icd.rb | 46 + sample/soap/raa/iRAA.rb | 154 + sample/soap/raa/soap4r.rb | 30 + sample/soap/sampleStruct/client.rb | 16 + sample/soap/sampleStruct/httpd.rb | 15 + sample/soap/sampleStruct/iSampleStruct.rb | 22 + sample/soap/sampleStruct/sampleStruct.rb | 13 + sample/soap/sampleStruct/server.cgi | 14 + sample/soap/sampleStruct/server.rb | 16 + sample/wsdl/amazon/AmazonSearch.rb | 3701 ++++++++++++++++++++++++ sample/wsdl/amazon/AmazonSearchDriver.rb | 445 +++ sample/wsdl/amazon/sampleClient.rb | 37 + sample/wsdl/amazon/wsdlDriver.rb | 48 + sample/wsdl/googleSearch/GoogleSearch.rb | 258 ++ sample/wsdl/googleSearch/GoogleSearchDriver.rb | 101 + sample/wsdl/googleSearch/README | 6 + sample/wsdl/googleSearch/httpd.rb | 15 + sample/wsdl/googleSearch/sampleClient.rb | 56 + sample/wsdl/googleSearch/sjissearch.sh | 3 + sample/wsdl/googleSearch/wsdlDriver.rb | 23 + sample/wsdl/raa/raa.wsdl | 264 ++ sample/wsdl/raa/soap4r.rb | 31 + 40 files changed, 5662 insertions(+) create mode 100644 sample/soap/babelfish.rb create mode 100644 sample/soap/calc/calc.rb create mode 100644 sample/soap/calc/calc2.rb create mode 100644 sample/soap/calc/client.rb create mode 100644 sample/soap/calc/client2.rb create mode 100644 sample/soap/calc/httpd.rb create mode 100644 sample/soap/calc/server.cgi create mode 100644 sample/soap/calc/server.rb create mode 100644 sample/soap/calc/server2.rb create mode 100644 sample/soap/digraph.rb create mode 100644 sample/soap/exchange/client.rb create mode 100644 sample/soap/exchange/exchange.rb create mode 100644 sample/soap/exchange/httpd.rb create mode 100644 sample/soap/exchange/server.cgi create mode 100644 sample/soap/exchange/server.rb create mode 100644 sample/soap/helloworld/hw_c.rb create mode 100644 sample/soap/helloworld/hw_s.rb create mode 100644 sample/soap/icd/IICD.rb create mode 100644 sample/soap/icd/icd.rb create mode 100644 sample/soap/raa/iRAA.rb create mode 100644 sample/soap/raa/soap4r.rb create mode 100644 sample/soap/sampleStruct/client.rb create mode 100644 sample/soap/sampleStruct/httpd.rb create mode 100644 sample/soap/sampleStruct/iSampleStruct.rb create mode 100644 sample/soap/sampleStruct/sampleStruct.rb create mode 100644 sample/soap/sampleStruct/server.cgi create mode 100644 sample/soap/sampleStruct/server.rb create mode 100644 sample/wsdl/amazon/AmazonSearch.rb create mode 100644 sample/wsdl/amazon/AmazonSearchDriver.rb create mode 100644 sample/wsdl/amazon/sampleClient.rb create mode 100644 sample/wsdl/amazon/wsdlDriver.rb create mode 100644 sample/wsdl/googleSearch/GoogleSearch.rb create mode 100644 sample/wsdl/googleSearch/GoogleSearchDriver.rb create mode 100644 sample/wsdl/googleSearch/README create mode 100644 sample/wsdl/googleSearch/httpd.rb create mode 100644 sample/wsdl/googleSearch/sampleClient.rb create mode 100644 sample/wsdl/googleSearch/sjissearch.sh create mode 100644 sample/wsdl/googleSearch/wsdlDriver.rb create mode 100644 sample/wsdl/raa/raa.wsdl create mode 100644 sample/wsdl/raa/soap4r.rb (limited to 'sample') 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((.*?)), '((*\\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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + -- cgit v1.2.3