summaryrefslogtreecommitdiff
path: root/sample/soap/raa2.4
diff options
context:
space:
mode:
Diffstat (limited to 'sample/soap/raa2.4')
-rw-r--r--sample/soap/raa2.4/raa.rb332
-rw-r--r--sample/soap/raa2.4/raaDriver.rb255
-rw-r--r--sample/soap/raa2.4/raaServiceClient.rb354
-rw-r--r--sample/soap/raa2.4/sample.rb115
4 files changed, 1056 insertions, 0 deletions
diff --git a/sample/soap/raa2.4/raa.rb b/sample/soap/raa2.4/raa.rb
new file mode 100644
index 0000000000..9b4c4e41aa
--- /dev/null
+++ b/sample/soap/raa2.4/raa.rb
@@ -0,0 +1,332 @@
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class Gem
+ @@schema_type = "Gem"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+
+ def id
+ @id
+ end
+
+ def id=(value)
+ @id = value
+ end
+
+ def category
+ @category
+ end
+
+ def category=(value)
+ @category = value
+ end
+
+ def owner
+ @owner
+ end
+
+ def owner=(value)
+ @owner = value
+ end
+
+ def project
+ @project
+ end
+
+ def project=(value)
+ @project = value
+ end
+
+ def updated
+ @updated
+ end
+
+ def updated=(value)
+ @updated = value
+ end
+
+ def created
+ @created
+ end
+
+ def created=(value)
+ @created = value
+ end
+
+ def initialize(id = nil,
+ category = nil,
+ owner = nil,
+ project = nil,
+ updated = nil,
+ created = nil)
+ @id = id
+ @category = category
+ @owner = owner
+ @project = project
+ @updated = updated
+ @created = created
+ end
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class Category
+ @@schema_type = "Category"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+
+ def major
+ @major
+ end
+
+ def major=(value)
+ @major = value
+ end
+
+ def minor
+ @minor
+ end
+
+ def minor=(value)
+ @minor = value
+ end
+
+ def initialize(major = nil,
+ minor = nil)
+ @major = major
+ @minor = minor
+ end
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class Owner
+ @@schema_type = "Owner"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+
+ def id
+ @id
+ end
+
+ def id=(value)
+ @id = value
+ end
+
+ def email
+ @email
+ end
+
+ def email=(value)
+ @email = value
+ end
+
+ def name
+ @name
+ end
+
+ def name=(value)
+ @name = value
+ end
+
+ def initialize(id = nil,
+ email = nil,
+ name = nil)
+ @id = id
+ @email = email
+ @name = name
+ end
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class Project
+ @@schema_type = "Project"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+
+ def name
+ @name
+ end
+
+ def name=(value)
+ @name = value
+ end
+
+ def short_description
+ @short_description
+ end
+
+ def short_description=(value)
+ @short_description = value
+ end
+
+ def version
+ @version
+ end
+
+ def version=(value)
+ @version = value
+ end
+
+ def status
+ @status
+ end
+
+ def status=(value)
+ @status = value
+ end
+
+ def url
+ @url
+ end
+
+ def url=(value)
+ @url = value
+ end
+
+ def download
+ @download
+ end
+
+ def download=(value)
+ @download = value
+ end
+
+ def license
+ @license
+ end
+
+ def license=(value)
+ @license = value
+ end
+
+ def description
+ @description
+ end
+
+ def description=(value)
+ @description = value
+ end
+
+ def updated
+ @updated
+ end
+
+ def updated=(value)
+ @updated = value
+ end
+
+ def history
+ @history
+ end
+
+ def history=(value)
+ @history = value
+ end
+
+ def dependency
+ @dependency
+ end
+
+ def dependency=(value)
+ @dependency = value
+ end
+
+ def initialize(name = nil,
+ short_description = nil,
+ version = nil,
+ status = nil,
+ url = nil,
+ download = nil,
+ license = nil,
+ description = nil,
+ updated = nil,
+ history = nil,
+ dependency = nil)
+ @name = name
+ @short_description = short_description
+ @version = version
+ @status = status
+ @url = url
+ @download = download
+ @license = license
+ @description = description
+ @updated = updated
+ @history = history
+ @dependency = dependency
+ end
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class ProjectDependency
+ @@schema_type = "ProjectDependency"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+
+ def project
+ @project
+ end
+
+ def project=(value)
+ @project = value
+ end
+
+ def version
+ @version
+ end
+
+ def version=(value)
+ @version = value
+ end
+
+ def description
+ @description
+ end
+
+ def description=(value)
+ @description = value
+ end
+
+ def initialize(project = nil,
+ version = nil,
+ description = nil)
+ @project = project
+ @version = version
+ @description = description
+ end
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class GemArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "GemArray"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class OwnerArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "OwnerArray"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class ProjectArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ProjectArray"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class ProjectDependencyArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "ProjectDependencyArray"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+end
+
+# http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/
+class StringArray < Array
+ # Contents type should be dumped here...
+ @@schema_type = "StringArray"
+ @@schema_ns = "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/"
+end
+
+# http://xml.apache.org/xml-soap
+class Map < Array
+ # Contents type should be dumped here...
+ @@schema_type = "Map"
+ @@schema_ns = "http://xml.apache.org/xml-soap"
+end
+
diff --git a/sample/soap/raa2.4/raaDriver.rb b/sample/soap/raa2.4/raaDriver.rb
new file mode 100644
index 0000000000..10d0ba257e
--- /dev/null
+++ b/sample/soap/raa2.4/raaDriver.rb
@@ -0,0 +1,255 @@
+require 'raa.rb'
+
+require 'soap/rpc/driver'
+
+class RaaServicePortType < SOAP::RPC::Driver
+ TargetNamespace = "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ MappingRegistry = ::SOAP::Mapping::Registry.new
+
+ MappingRegistry.set(
+ Gem,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Gem") }
+ )
+ MappingRegistry.set(
+ Category,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Category") }
+ )
+ MappingRegistry.set(
+ Owner,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Owner") }
+ )
+ MappingRegistry.set(
+ Project,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Project") }
+ )
+ MappingRegistry.set(
+ ProjectArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Project") }
+ )
+ MappingRegistry.set(
+ ProjectDependencyArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "ProjectDependency") }
+ )
+ MappingRegistry.set(
+ StringArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://www.w3.org/2001/XMLSchema", "string") }
+ )
+ MappingRegistry.set(
+ Map,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://www.w3.org/2001/XMLSchema", "anyType") }
+ )
+ MappingRegistry.set(
+ OwnerArray,
+ ::SOAP::SOAPArray,
+ ::SOAP::Mapping::Registry::TypedArrayFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Owner") }
+ )
+ MappingRegistry.set(
+ ProjectDependency,
+ ::SOAP::SOAPStruct,
+ ::SOAP::Mapping::Registry::TypedStructFactory,
+ { :type => XSD::QName.new("http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "ProjectDependency") }
+ )
+ Methods = [
+ ["gem", "gem",
+ [
+ ["in", "name", [SOAP::SOAPString]],
+ ["retval", "return", [::SOAP::SOAPStruct, "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Gem"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["dependents", "dependents",
+ [
+ ["in", "name", [SOAP::SOAPString]],
+ ["in", "version", [SOAP::SOAPString]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "ProjectDependency"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["names", "names",
+ [
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["size", "size",
+ [
+ ["retval", "return", [SOAP::SOAPInt]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["list_by_category", "list_by_category",
+ [
+ ["in", "major", [SOAP::SOAPString]],
+ ["in", "minor", [SOAP::SOAPString]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["tree_by_category", "tree_by_category",
+ [
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "anyType"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["list_recent_updated", "list_recent_updated",
+ [
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["list_recent_created", "list_recent_created",
+ [
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["list_updated_since", "list_updated_since",
+ [
+ ["in", "date", [SOAP::SOAPDateTime]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["list_created_since", "list_created_since",
+ [
+ ["in", "date", [SOAP::SOAPDateTime]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["list_by_owner", "list_by_owner",
+ [
+ ["in", "owner_id", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["search_name", "search_name",
+ [
+ ["in", "substring", [SOAP::SOAPString]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["search_short_description", "search_short_description",
+ [
+ ["in", "substring", [SOAP::SOAPString]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["search_owner", "search_owner",
+ [
+ ["in", "substring", [SOAP::SOAPString]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["search_version", "search_version",
+ [
+ ["in", "substring", [SOAP::SOAPString]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["search_status", "search_status",
+ [
+ ["in", "substring", [SOAP::SOAPString]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["search_description", "search_description",
+ [
+ ["in", "substring", [SOAP::SOAPString]],
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "string"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["search", "search",
+ [
+ ["in", "substring", [SOAP::SOAPString]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.w3.org/2001/XMLSchema", "anyType"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["owner", "owner",
+ [
+ ["in", "owner_id", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPStruct, "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Owner"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["list_owner", "list_owner",
+ [
+ ["in", "idx", [SOAP::SOAPInt]],
+ ["retval", "return", [::SOAP::SOAPArray, "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Owner"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["update", "update",
+ [
+ ["in", "name", [SOAP::SOAPString]],
+ ["in", "pass", [SOAP::SOAPString]],
+ ["in", "gem", [::SOAP::SOAPStruct, "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Gem"]],
+ ["retval", "return", [::SOAP::SOAPStruct, "http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/", "Gem"]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ],
+ ["update_pass", "update_pass",
+ [
+ ["in", "name", [SOAP::SOAPString]],
+ ["in", "oldpass", [SOAP::SOAPString]],
+ ["in", "newpass", [SOAP::SOAPString]]
+ ],
+ "", "http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/"
+ ]
+ ]
+
+ DefaultEndpointUrl = "http://raa.ruby-lang.org/soapsrv"
+
+ 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/soap/raa2.4/raaServiceClient.rb b/sample/soap/raa2.4/raaServiceClient.rb
new file mode 100644
index 0000000000..a59815ba72
--- /dev/null
+++ b/sample/soap/raa2.4/raaServiceClient.rb
@@ -0,0 +1,354 @@
+#!/usr/bin/env ruby
+require 'raaDriver.rb'
+
+endpoint_url = ARGV.shift
+obj = RaaServicePortType.new(endpoint_url)
+
+# Uncomment the below line to see SOAP wiredumps.
+# obj.wiredump_dev = STDERR
+
+# SYNOPSIS
+# gem(name)
+#
+# ARGS
+# name - {http://www.w3.org/2001/XMLSchema}string
+#
+# RETURNS
+# return Gem - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}Gem
+#
+# RAISES
+# (undefined)
+#
+name = nil
+puts obj.gem(name)
+
+# SYNOPSIS
+# dependents(name, version)
+#
+# ARGS
+# name - {http://www.w3.org/2001/XMLSchema}string
+# version - {http://www.w3.org/2001/XMLSchema}string
+#
+# RETURNS
+# return ProjectDependencyArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}ProjectDependencyArray
+#
+# RAISES
+# (undefined)
+#
+name = version = nil
+puts obj.dependents(name, version)
+
+# SYNOPSIS
+# names
+#
+# ARGS
+# N/A
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+
+puts obj.names
+
+# SYNOPSIS
+# size
+#
+# ARGS
+# N/A
+#
+# RETURNS
+# return - {http://www.w3.org/2001/XMLSchema}int
+#
+# RAISES
+# (undefined)
+#
+
+puts obj.size
+
+# SYNOPSIS
+# list_by_category(major, minor)
+#
+# ARGS
+# major - {http://www.w3.org/2001/XMLSchema}string
+# minor - {http://www.w3.org/2001/XMLSchema}string
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+major = minor = nil
+puts obj.list_by_category(major, minor)
+
+# SYNOPSIS
+# tree_by_category
+#
+# ARGS
+# N/A
+#
+# RETURNS
+# return Map - {http://xml.apache.org/xml-soap}Map
+#
+# RAISES
+# (undefined)
+#
+
+puts obj.tree_by_category
+
+# SYNOPSIS
+# list_recent_updated(idx)
+#
+# ARGS
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+idx = nil
+puts obj.list_recent_updated(idx)
+
+# SYNOPSIS
+# list_recent_created(idx)
+#
+# ARGS
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+idx = nil
+puts obj.list_recent_created(idx)
+
+# SYNOPSIS
+# list_updated_since(date, idx)
+#
+# ARGS
+# date - {http://www.w3.org/2001/XMLSchema}dateTime
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+date = idx = nil
+puts obj.list_updated_since(date, idx)
+
+# SYNOPSIS
+# list_created_since(date, idx)
+#
+# ARGS
+# date - {http://www.w3.org/2001/XMLSchema}dateTime
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+date = idx = nil
+puts obj.list_created_since(date, idx)
+
+# SYNOPSIS
+# list_by_owner(owner_id)
+#
+# ARGS
+# owner_id - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+owner_id = nil
+puts obj.list_by_owner(owner_id)
+
+# SYNOPSIS
+# search_name(substring, idx)
+#
+# ARGS
+# substring - {http://www.w3.org/2001/XMLSchema}string
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+substring = idx = nil
+puts obj.search_name(substring, idx)
+
+# SYNOPSIS
+# search_short_description(substring, idx)
+#
+# ARGS
+# substring - {http://www.w3.org/2001/XMLSchema}string
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+substring = idx = nil
+puts obj.search_short_description(substring, idx)
+
+# SYNOPSIS
+# search_owner(substring, idx)
+#
+# ARGS
+# substring - {http://www.w3.org/2001/XMLSchema}string
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+substring = idx = nil
+puts obj.search_owner(substring, idx)
+
+# SYNOPSIS
+# search_version(substring, idx)
+#
+# ARGS
+# substring - {http://www.w3.org/2001/XMLSchema}string
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+substring = idx = nil
+puts obj.search_version(substring, idx)
+
+# SYNOPSIS
+# search_status(substring, idx)
+#
+# ARGS
+# substring - {http://www.w3.org/2001/XMLSchema}string
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+substring = idx = nil
+puts obj.search_status(substring, idx)
+
+# SYNOPSIS
+# search_description(substring, idx)
+#
+# ARGS
+# substring - {http://www.w3.org/2001/XMLSchema}string
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return StringArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}StringArray
+#
+# RAISES
+# (undefined)
+#
+substring = idx = nil
+puts obj.search_description(substring, idx)
+
+# SYNOPSIS
+# search(substring)
+#
+# ARGS
+# substring - {http://www.w3.org/2001/XMLSchema}string
+#
+# RETURNS
+# return Map - {http://xml.apache.org/xml-soap}Map
+#
+# RAISES
+# (undefined)
+#
+substring = nil
+puts obj.search(substring)
+
+# SYNOPSIS
+# owner(owner_id)
+#
+# ARGS
+# owner_id - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return Owner - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}Owner
+#
+# RAISES
+# (undefined)
+#
+owner_id = nil
+puts obj.owner(owner_id)
+
+# SYNOPSIS
+# list_owner(idx)
+#
+# ARGS
+# idx - {http://www.w3.org/2001/XMLSchema}int
+#
+# RETURNS
+# return OwnerArray - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}OwnerArray
+#
+# RAISES
+# (undefined)
+#
+idx = nil
+puts obj.list_owner(idx)
+
+# SYNOPSIS
+# update(name, pass, gem)
+#
+# ARGS
+# name - {http://www.w3.org/2001/XMLSchema}string
+# pass - {http://www.w3.org/2001/XMLSchema}string
+# gem Gem - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}Gem
+#
+# RETURNS
+# return Gem - {http://www.ruby-lang.org/xmlns/soap/type/RAA/0.0.3/}Gem
+#
+# RAISES
+# (undefined)
+#
+name = pass = gem = nil
+puts obj.update(name, pass, gem)
+
+# SYNOPSIS
+# update_pass(name, oldpass, newpass)
+#
+# ARGS
+# name - {http://www.w3.org/2001/XMLSchema}string
+# oldpass - {http://www.w3.org/2001/XMLSchema}string
+# newpass - {http://www.w3.org/2001/XMLSchema}string
+#
+# RETURNS
+# N/A
+#
+# RAISES
+# (undefined)
+#
+name = oldpass = newpass = nil
+puts obj.update_pass(name, oldpass, newpass)
+
+
diff --git a/sample/soap/raa2.4/sample.rb b/sample/soap/raa2.4/sample.rb
new file mode 100644
index 0000000000..e157f8361f
--- /dev/null
+++ b/sample/soap/raa2.4/sample.rb
@@ -0,0 +1,115 @@
+#!/usr/bin/env ruby
+
+# This is a sample client based on raaServiceClient.rb.
+# You can generate raaServiceClient.rb and related files with
+# wsdl2ruby.rb --wsdl http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/ --type client
+
+require 'pp'
+require 'raaDriver.rb'
+
+raa = RaaServicePortType.new
+# raa.wiredump_dev = STDERR
+
+def sec(msg)
+ puts
+ puts "--------"
+ puts "-- " + msg
+ puts
+end
+
+def subsec(msg)
+ puts "-- " + msg
+end
+
+sec("retrieve a gem (RAA Information) which has specified name")
+name = 'soap4r'
+pp raa.gem(name)
+
+sec("retrieve dependents of the project")
+name = 'http-access2'; version = nil
+pp raa.dependents(name, version)
+
+sec("number of registered gems")
+puts raa.size
+
+sec("retrieve all registered gem names")
+p raa.names
+
+sec("retrieve gems of specified category")
+major = 'Library'; minor = 'XML'
+p raa.list_by_category(major, minor)
+
+sec("retrieve category tree")
+pp raa.tree_by_category
+
+sec("retrieve gems which is updated recently")
+idx = 0
+p raa.list_recent_updated(idx)
+subsec("next 10 gems")
+idx += 1
+p raa.list_recent_updated(idx)
+subsec("next 10 gems")
+idx += 1
+p raa.list_recent_updated(idx)
+
+sec("retrieve gems which is created recently")
+p raa.list_recent_created(idx)
+
+sec("retrieve gems which is updated in 7 days")
+date = Time.now - 7 * 24 * 60 * 60; idx = 0
+p raa.list_updated_since(date, idx)
+
+sec("retrieve gems which is created in 7 days")
+p raa.list_created_since(date, idx)
+
+sec("retrieve gems of specified owner")
+owner_id = 8 # NaHi
+p raa.list_by_owner(owner_id)
+
+sec("search gems with keyword")
+substring = 'soap'
+pp raa.search(substring)
+
+# There are several search interface to search a field explicitly.
+# puts raa.search_name(substring, idx)
+# puts raa.search_short_description(substring, idx)
+# puts raa.search_owner(substring, idx)
+# puts raa.search_version(substring, idx)
+# puts raa.search_status(substring, idx)
+# puts raa.search_description(substring, idx)
+
+sec("retrieve owner info")
+owner_id = 8
+pp raa.owner(owner_id)
+
+sec("retrieve owners")
+idx = 0
+p raa.list_owner(idx)
+
+sec("update 'sampleproject'")
+name = 'sampleproject'
+pass = 'sampleproject'
+gem = raa.gem(name)
+p gem.project.version
+gem.project.version.succ!
+gem.updated = Time.now
+raa.update(name, pass, gem)
+p raa.gem(name).project.version
+
+sec("update pass phrase")
+raa.update_pass(name, 'sampleproject', 'foo')
+subsec("update check")
+gem = raa.gem(name)
+gem.project.description = 'Current pass phrase is "foo"'
+gem.updated = Time.now
+raa.update(name, 'foo', gem)
+#
+subsec("recover pass phrase")
+raa.update_pass(name, 'foo', 'sampleproject')
+subsec("update check")
+gem = raa.gem(name)
+gem.project.description = 'Current pass phrase is "sampleproject"'
+gem.updated = Time.now
+raa.update(name, 'sampleproject', gem)
+
+sec("done")