soap-lc 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,22 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
22
+ NEVER_COMMIT
File without changes
@@ -1,10 +1,8 @@
1
1
  = SOAP Lite Client
2
2
 
3
- Copyright (C) 2007 Gregoire Lejeune
3
+ Copyright (C) 2007-2010 Grégoire Lejeune
4
4
 
5
- * http://soap-lc.rubyforge.org/
6
- * http://rubyforge.org/projects/soap-lc/
7
- * http://greg.rubyfr.net
5
+ * http://algorithmique.net
8
6
 
9
7
  == DESCRIPTION:
10
8
 
@@ -12,6 +10,14 @@ SOAP Lite Client provides support for developing clients interfaces from WSDL fi
12
10
 
13
11
  == FEATURES/PROBLEMS:
14
12
 
13
+ === 0.0.3:
14
+ * Use jeweler
15
+
16
+ === 0.0.2:
17
+ * Extract Core extensions
18
+ * Format response
19
+ * Add binding support
20
+
15
21
  === 0.0.1:
16
22
  * Initial release. So...
17
23
 
@@ -20,16 +26,16 @@ SOAP Lite Client provides support for developing clients interfaces from WSDL fi
20
26
 
21
27
  == SYNOPSIS:
22
28
 
23
- require 'soap/lc'
29
+ require 'soap/lc'
24
30
 
25
- wsdl = "http://localhost:3000/simple/wsdl"
26
- s = SOAP::LC.new( ).wsdl( wsdl ).call( "HelloWorld", { :from => "Greg" } )
27
- r = s.result
28
- puts r.to_h
29
-
30
- # Or
31
-
32
- r = SOAP::LC["http://localhost:3000/wsdl"].HelloWorld( :from => "greg" ).result
31
+ wsdl = "http://localhost:3000/simple/wsdl"
32
+ s = SOAP::LC.new( ).wsdl( wsdl ).call( "HelloWorld", { :from => "Greg" } )
33
+ r = s.result
34
+ puts r.to_h
35
+
36
+ # Or
37
+
38
+ r = SOAP::LC["http://localhost:3000/wsdl"].HelloWorld( :from => "greg" ).result
33
39
 
34
40
  == REQUIREMENTS:
35
41
 
@@ -0,0 +1,32 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'lib/soap/lc/version'
4
+
5
+ begin
6
+ require 'jeweler'
7
+ Jeweler::Tasks.new do |gem|
8
+ gem.name = "soap-lc"
9
+ gem.summary = %Q{SOAP Lite Client provides support for developing clients interfaces from WSDL files.}
10
+ gem.description = gem.summary
11
+ gem.email = "gregoire.lejeune@free.fr"
12
+ gem.homepage = "http://github.com/glejeune/soap-lc"
13
+ gem.authors = ["Grégoire Lejeune"]
14
+ gem.version = SOAP::LC::VERSION
15
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
+
17
+ gem.add_dependency('activesupport')
18
+ end
19
+ Jeweler::GemcutterTasks.new
20
+ rescue LoadError
21
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
+ end
23
+
24
+ require 'rake/rdoctask'
25
+ Rake::RDocTask.new do |rdoc|
26
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
27
+
28
+ rdoc.rdoc_dir = 'rdoc'
29
+ rdoc.title = "soap-lc #{version}"
30
+ rdoc.rdoc_files.include('README*')
31
+ rdoc.rdoc_files.include('lib/**/*.rb')
32
+ end
@@ -9,6 +9,19 @@ module SOAP
9
9
  def initialize( ) #:nodoc:
10
10
  end
11
11
 
12
+ # Set the WSDL URL and return a SOAP::WSDL object
13
+ #
14
+ # Parameters :
15
+ # +uri+ : path to the WSDL
16
+ # +binding+ : binding name (optional)
17
+ #
18
+ # Example :
19
+ # s = WSDL::LC.new().wsdl( "http://my.wsdl.com", "HelloService" )
20
+ # # => #<SOAP::WSDL:0xNNNNNN>
21
+ def wsdl( uri, binding = nil )
22
+ SOAP::WSDL.new( uri, binding )
23
+ end
24
+
12
25
  # Set the WSDL URL and return a SOAP::WSDL object
13
26
  #
14
27
  # Parameters :
@@ -19,7 +32,7 @@ module SOAP
19
32
  # s = WSDL::LC.wsdl( "http://my.wsdl.com", "HelloService" )
20
33
  # # => #<SOAP::WSDL:0xNNNNNN>
21
34
  def self.wsdl( uri, binding = nil )
22
- return SOAP::WSDL.new( uri, binding )
35
+ SOAP::WSDL.new( uri, binding )
23
36
  end
24
37
 
25
38
  # Create a new SOAP Lite client and set the WSDL URL
@@ -42,9 +42,9 @@ module SOAP
42
42
  # </SOAP-ENV:Envelope>'
43
43
  # r = SOAP::Request.request( e, "http://localhost:3000/hello/wsdl", "SOAPAction" => "my.soap.action" )
44
44
  def self.request( envelope, uri, headers = {} )
45
- r = new( nil, nil )
46
- r.r( envelope, uri, headers )
47
- return r
45
+ req = new( nil, nil )
46
+ req.r( envelope, uri, headers )
47
+ return req
48
48
  end
49
49
  def r( envelope, uri, headers ) #:nodoc:
50
50
  @request = {
@@ -58,6 +58,11 @@ module SOAP
58
58
  }
59
59
  end
60
60
 
61
+ # Return available SOAP actions
62
+ def operations
63
+ @wsdl.bindings.getOperations( @binding )
64
+ end
65
+
61
66
  # Call a method for the current Request
62
67
  #
63
68
  # Example:
@@ -188,7 +193,7 @@ module SOAP
188
193
  end
189
194
 
190
195
  private
191
- def make_header( e, h = {} )
196
+ def make_header( e, h = {} ) #:nodoc:
192
197
  {
193
198
  'User-Agent' => "SOAP::LC (#{SOAP::LC::VERSION}); Ruby (#{VERSION})",
194
199
  'Content-Type' => 'text/xml', #'application/soap+xml; charset=utf-8',
@@ -196,7 +201,7 @@ module SOAP
196
201
  }.merge( h )
197
202
  end
198
203
 
199
- def soap_envelop( &b )
204
+ def soap_envelop( &b ) #:nodoc:
200
205
  "<SOAP-ENV:Envelope
201
206
  xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
202
207
  xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\"
@@ -1,5 +1,5 @@
1
1
  module SOAP
2
2
  class LC
3
- SOAP::LC::VERSION = "0.0.2"
3
+ SOAP::LC::VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -20,6 +20,11 @@ module SOAP
20
20
  return request( @binding ).call( id.id2name, args[0] )
21
21
  end
22
22
 
23
+ # Return available SOAP operations
24
+ def operations
25
+ return request( @binding ).operations
26
+ end
27
+
23
28
  # Call a method for the current WSDL and get the corresponding SOAP::Request
24
29
  #
25
30
  # Example:
@@ -12,6 +12,18 @@ module SOAP
12
12
  end
13
13
  return r
14
14
  end
15
+
16
+ def getOperations( binding = nil )
17
+ r = []
18
+ if binding.nil?
19
+ self.each do |binding_name, binding|
20
+ r = r + binding.operations.keys
21
+ end
22
+ else
23
+ r = r + self[binding].operations.keys
24
+ end
25
+ return r
26
+ end
15
27
  end
16
28
 
17
29
  class Binding
@@ -32,74 +32,109 @@ module SOAP
32
32
  end
33
33
 
34
34
  def xsd_duration( x )
35
+ x
35
36
  end
36
37
  def xsd_dateTime( x )
38
+ x
37
39
  end
38
40
  def xsd_time( x )
41
+ x
39
42
  end
40
43
  def xsd_date( x )
44
+ x
41
45
  end
42
46
  def xsd_gYearMonth( x )
47
+ x
43
48
  end
44
49
  def xsd_gYear( x )
50
+ x
45
51
  end
46
52
  def xsd_gMonthDay( x )
53
+ x
47
54
  end
48
55
  def xsd_gDay( x )
56
+ x
49
57
  end
50
58
  def xsd_gMonth( x )
59
+ x
51
60
  end
52
61
  def xsd_base64Binary( x )
62
+ x
53
63
  end
54
64
  def xsd_hexBinary( x )
65
+ x
55
66
  end
56
67
  def xsd_anyURI( x )
68
+ x
57
69
  end
58
70
  def xsd_QName( x )
71
+ x
59
72
  end
60
73
  def xsd_NOTATION( x )
74
+ x
61
75
  end
62
76
  def xsd_token( x )
77
+ x
63
78
  end
64
79
  def xsd_language( x )
80
+ x
65
81
  end
66
82
  def xsd_Name( x )
83
+ x
67
84
  end
68
85
  def xsd_NMTOKEN( x )
86
+ x
69
87
  end
70
88
  def xsd_NCName( x )
89
+ x
71
90
  end
72
91
  def xsd_NMTOKENS( x )
92
+ x
73
93
  end
74
94
  def xsd_ID( x )
95
+ x
75
96
  end
76
97
  def xsd_IDREF( x )
98
+ x
77
99
  end
78
100
  def xsd_ENTITY( x )
101
+ x
79
102
  end
80
103
  def xsd_IDREFS( x )
104
+ x
81
105
  end
82
106
  def xsd_ENTITIES( x )
107
+ x
83
108
  end
84
109
  def xsd_nonPositiveInteger( x )
110
+ x
85
111
  end
86
112
  def xsd_nonNegativeInteger( x )
113
+ x
87
114
  end
88
115
  def xsd_negativeInteger( x )
116
+ x
89
117
  end
90
118
  def xsd_unsignedLong( x )
119
+ x
91
120
  end
92
121
  def xsd_positiveInteger( x )
122
+ x
93
123
  end
94
124
  def xsd_short( x )
125
+ x
95
126
  end
96
127
  def xsd_unsignedInt( x )
128
+ x
97
129
  end
98
130
  def xsd_byte( x )
131
+ x
99
132
  end
100
133
  def xsd_unsignedShort( x )
134
+ x
101
135
  end
102
136
  def xsd_unsignedByte( x )
137
+ x
103
138
  end
104
139
  end
105
140
  end
@@ -130,7 +130,7 @@ module SOAP
130
130
  when :simpleType
131
131
  # **************************** TODO ************************************
132
132
  when :complexType
133
- # **************************** TO VERIFY ************************************
133
+ # **************************** NEED TO BE VERIFIED ************************************
134
134
  r = self[:complexType].responseToHash( xml, types )
135
135
  else
136
136
  xml.each { |e|
@@ -0,0 +1,72 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{soap-lc}
8
+ s.version = "0.0.3"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Gr\303\251goire Lejeune"]
12
+ s.date = %q{2010-02-10}
13
+ s.description = %q{SOAP Lite Client provides support for developing clients interfaces from WSDL files.}
14
+ s.email = %q{gregoire.lejeune@free.fr}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".gitignore",
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "examples/mono/NumberService.asmx",
25
+ "examples/mono/README.txt",
26
+ "examples/mono/index.html",
27
+ "lib/soap/lc.rb",
28
+ "lib/soap/lc/core_ext.rb",
29
+ "lib/soap/lc/error.rb",
30
+ "lib/soap/lc/request.rb",
31
+ "lib/soap/lc/response.rb",
32
+ "lib/soap/lc/version.rb",
33
+ "lib/soap/lc/wsdl.rb",
34
+ "lib/soap/lc/wsdl/binding.rb",
35
+ "lib/soap/lc/wsdl/message.rb",
36
+ "lib/soap/lc/wsdl/parser.rb",
37
+ "lib/soap/lc/wsdl/portType.rb",
38
+ "lib/soap/lc/wsdl/service.rb",
39
+ "lib/soap/lc/xsd.rb",
40
+ "lib/soap/lc/xsd/complextype.rb",
41
+ "lib/soap/lc/xsd/convert.rb",
42
+ "lib/soap/lc/xsd/element.rb",
43
+ "lib/soap/lc/xsd/enumeration.rb",
44
+ "lib/soap/lc/xsd/restriction.rb",
45
+ "lib/soap/lc/xsd/sequence.rb",
46
+ "lib/soap/lc/xsd/simpletype.rb",
47
+ "soap-lc.gemspec",
48
+ "tests/t_000.rb"
49
+ ]
50
+ s.homepage = %q{http://github.com/glejeune/soap-lc}
51
+ s.rdoc_options = ["--charset=UTF-8"]
52
+ s.require_paths = ["lib"]
53
+ s.rubygems_version = %q{1.3.5}
54
+ s.summary = %q{SOAP Lite Client provides support for developing clients interfaces from WSDL files.}
55
+ s.test_files = [
56
+ "examples/NEVER_COMMIT/t_000.rb"
57
+ ]
58
+
59
+ if s.respond_to? :specification_version then
60
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
61
+ s.specification_version = 3
62
+
63
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
64
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
65
+ else
66
+ s.add_dependency(%q<activesupport>, [">= 0"])
67
+ end
68
+ else
69
+ s.add_dependency(%q<activesupport>, [">= 0"])
70
+ end
71
+ end
72
+
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soap-lc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Gr\xC3\xA9goire Lejeune"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-30 00:00:00 +01:00
12
+ date: 2010-02-10 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -29,33 +29,29 @@ executables: []
29
29
  extensions: []
30
30
 
31
31
  extra_rdoc_files:
32
- - README
33
- - AUTHORS
34
- - COPYING
35
- - lib/soap/lc.rb
36
- - lib/soap/lc/wsdl.rb
37
- - lib/soap/lc/request.rb
38
- - lib/soap/lc/response.rb
32
+ - LICENSE
33
+ - README.rdoc
39
34
  files:
40
- - COPYING
41
- - README
42
- - AUTHORS
43
- - setup.rb
44
- - lib/soap
45
- - lib/soap/lc
35
+ - .gitignore
36
+ - LICENSE
37
+ - README.rdoc
38
+ - Rakefile
39
+ - examples/mono/NumberService.asmx
40
+ - examples/mono/README.txt
41
+ - examples/mono/index.html
42
+ - lib/soap/lc.rb
46
43
  - lib/soap/lc/core_ext.rb
47
44
  - lib/soap/lc/error.rb
48
45
  - lib/soap/lc/request.rb
49
46
  - lib/soap/lc/response.rb
50
47
  - lib/soap/lc/version.rb
51
- - lib/soap/lc/wsdl
48
+ - lib/soap/lc/wsdl.rb
52
49
  - lib/soap/lc/wsdl/binding.rb
53
50
  - lib/soap/lc/wsdl/message.rb
54
51
  - lib/soap/lc/wsdl/parser.rb
55
52
  - lib/soap/lc/wsdl/portType.rb
56
53
  - lib/soap/lc/wsdl/service.rb
57
- - lib/soap/lc/wsdl.rb
58
- - lib/soap/lc/xsd
54
+ - lib/soap/lc/xsd.rb
59
55
  - lib/soap/lc/xsd/complextype.rb
60
56
  - lib/soap/lc/xsd/convert.rb
61
57
  - lib/soap/lc/xsd/element.rb
@@ -63,41 +59,22 @@ files:
63
59
  - lib/soap/lc/xsd/restriction.rb
64
60
  - lib/soap/lc/xsd/sequence.rb
65
61
  - lib/soap/lc/xsd/simpletype.rb
66
- - lib/soap/lc/xsd.rb
67
- - lib/soap/lc.rb
68
- - examples/HelloService.wsdl
69
- - examples/mono
70
- - examples/mono/index.html
71
- - examples/mono/NumberService.asmx
72
- - examples/mono/README.txt
73
- - examples/StockQuote.wsdl
74
- - examples/t_000.rb
75
- - examples/t_001.rb
76
- - examples/t_002.rb
77
- - examples/t_00X.rb
78
- - examples/t_010.rb
62
+ - soap-lc.gemspec
63
+ - tests/t_000.rb
79
64
  has_rdoc: true
80
- homepage: http://greg.rubyfr.net
65
+ homepage: http://github.com/glejeune/soap-lc
66
+ licenses: []
67
+
81
68
  post_install_message:
82
69
  rdoc_options:
83
- - --quiet
84
- - --title
85
- - SOAP Lite Client, the Documentation
86
- - --opname
87
- - index.html
88
- - --line-numbers
89
- - --main
90
- - README
91
- - --inline-source
92
- - --exclude
93
- - ^(examples|extras|test|lib)\/
70
+ - --charset=UTF-8
94
71
  require_paths:
95
72
  - lib
96
73
  required_ruby_version: !ruby/object:Gem::Requirement
97
74
  requirements:
98
75
  - - ">="
99
76
  - !ruby/object:Gem::Version
100
- version: 1.8.1
77
+ version: "0"
101
78
  version:
102
79
  required_rubygems_version: !ruby/object:Gem::Requirement
103
80
  requirements:
@@ -108,9 +85,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
85
  requirements: []
109
86
 
110
87
  rubyforge_project:
111
- rubygems_version: 1.3.1
88
+ rubygems_version: 1.3.5
112
89
  signing_key:
113
- specification_version: 2
90
+ specification_version: 3
114
91
  summary: SOAP Lite Client provides support for developing clients interfaces from WSDL files.
115
- test_files: []
116
-
92
+ test_files:
93
+ - examples/NEVER_COMMIT/t_000.rb