diff options
| author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-22 13:03:38 +0000 |
|---|---|---|
| committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-22 13:03:38 +0000 |
| commit | 810a605c34d97fa878cb5b615b9e95a2fee84ca8 (patch) | |
| tree | c17440206af25b52f47b1c391f818e126a994d0a /sample/wsdl/raa2.4 | |
| parent | 11491c909c15feef7731483824ab29ce1d434739 (diff) | |
| download | ruby-810a605c34d97fa878cb5b615b9e95a2fee84ca8.tar.gz ruby-810a605c34d97fa878cb5b615b9e95a2fee84ca8.tar.xz ruby-810a605c34d97fa878cb5b615b9e95a2fee84ca8.zip | |
* lib/{soap,wsdl,xsd}, test/{soap,wsdl,xsd}: imported soap4r/1.5.4.
== SOAP client and server ==
=== for both client side and server side ===
* improved document/literal service support.
style(rpc,document)/use(encoding, literal) combination are all
supported. for the detail about combination, see
test/soap/test_style.rb.
* let WSDLEncodedRegistry#soap2obj map SOAP/OM to Ruby according to
WSDL as well as obj2soap. closes #70.
* let SOAP::Mapping::Object handle XML attribute for doc/lit service.
you can set/get XML attribute via accessor methods which as a name
'xmlattr_' prefixed (<foo name="bar"/> -> Foo#xmlattr_name).
=== client side ===
* WSDLDriver capitalized name operation bug fixed. from
1.5.3-ruby1.8.2, operation which has capitalized name (such as
KeywordSearchRequest in AWS) is defined as a method having
uncapitalized name. (converted with GenSupport.safemethodname
to handle operation name 'foo-bar'). it introduced serious
incompatibility; in the past, it was defined as a capitalized.
define capitalized method as well under that circumstance.
* added new factory interface 'WSDLDriverFactory#create_rpc_driver'
to create RPC::Driver, not WSDLDriver (RPC::Driver and WSDLDriver
are merged). 'WSDLDriverFactory#create_driver' still creates
WSDLDriver for compatibility but it warns that the method is
deprecated. please use create_rpc_driver instead of create_driver.
* allow to use an URI object as an endpoint_url even with net/http,
not http-access2.
=== server side ===
* added mod_ruby support to SOAP::CGIStub. rename a CGI script
server.cgi to server.rb and let mod_ruby's RubyHandler handles the
script. CGIStub detects if it's running under mod_ruby environment
or not.
* added fcgi support to SOAP::CGIStub. see the sample at
sample/soap/calc/server.fcgi. (almost same as server.cgi but has
fcgi handler at the bottom.)
* allow to return a SOAPFault object to respond customized SOAP fault.
* added the interface 'generate_explicit_type' for server side
(CGIStub, HTTPServer). call 'self.generate_explicit_type = true'
if you want to return simplified XML even if it's rpc/encoded
service.
== WSDL ==
=== WSDL definition ===
* improved XML Schema support such as extension, restriction,
simpleType, complexType + simpleContent, ref, length, import,
include.
* reduced "unknown element/attribute" warnings (warn only 1 time for
each QName).
* importing XSD file at schemaLocation with xsd:import.
=== code generation from WSDL ===
* generator crashed when there's '-' in defined element/attribute
name.
* added ApacheMap WSDL definition.
* sample/{soap,wsdl}: removed.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'sample/wsdl/raa2.4')
| -rw-r--r-- | sample/wsdl/raa2.4/raa.rb | 332 | ||||
| -rw-r--r-- | sample/wsdl/raa2.4/wsdlDriver.rb | 117 |
2 files changed, 0 insertions, 449 deletions
diff --git a/sample/wsdl/raa2.4/raa.rb b/sample/wsdl/raa2.4/raa.rb deleted file mode 100644 index 9b4c4e41a..000000000 --- a/sample/wsdl/raa2.4/raa.rb +++ /dev/null @@ -1,332 +0,0 @@ -# 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/wsdl/raa2.4/wsdlDriver.rb b/sample/wsdl/raa2.4/wsdlDriver.rb deleted file mode 100644 index bc5fb1998..000000000 --- a/sample/wsdl/raa2.4/wsdlDriver.rb +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env ruby - -# You can generate raa.rb required here with the command; -# wsdl2ruby.rb --wsdl http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/ --classdef -require 'raa' -require 'soap/wsdlDriver' -require 'pp' - -RAA_WSDL = 'http://www.ruby-lang.org/xmlns/soap/interface/RAA/0.0.4/' - -raa = SOAP::WSDLDriverFactory.new(RAA_WSDL).create_driver -raa.generate_explicit_type = true -# 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") |
