savon 0.7.9 → 0.8.0.beta.1
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.
- data/.gitignore +9 -0
- data/.rspec +1 -0
- data/.yardopts +2 -0
- data/CHANGELOG.md +332 -0
- data/Gemfile +4 -0
- data/LICENSE +20 -0
- data/README.md +37 -0
- data/Rakefile +28 -39
- data/autotest/discover.rb +1 -0
- data/lib/savon.rb +10 -31
- data/lib/savon/client.rb +116 -98
- data/lib/savon/core_ext/array.rb +36 -22
- data/lib/savon/core_ext/datetime.rb +15 -6
- data/lib/savon/core_ext/hash.rb +122 -94
- data/lib/savon/core_ext/object.rb +19 -11
- data/lib/savon/core_ext/string.rb +62 -57
- data/lib/savon/core_ext/symbol.rb +13 -5
- data/lib/savon/error.rb +6 -0
- data/lib/savon/global.rb +75 -0
- data/lib/savon/http/error.rb +42 -0
- data/lib/savon/soap.rb +8 -283
- data/lib/savon/soap/fault.rb +48 -0
- data/lib/savon/soap/request.rb +61 -0
- data/lib/savon/soap/response.rb +65 -0
- data/lib/savon/soap/xml.rb +132 -0
- data/lib/savon/version.rb +2 -2
- data/lib/savon/wsdl/document.rb +107 -0
- data/lib/savon/wsdl/parser.rb +90 -0
- data/lib/savon/wsdl/request.rb +35 -0
- data/lib/savon/wsse.rb +42 -104
- data/savon.gemspec +26 -0
- data/spec/fixtures/response/response_fixture.rb +26 -26
- data/spec/fixtures/response/xml/list.xml +18 -0
- data/spec/fixtures/wsdl/wsdl_fixture.rb +6 -0
- data/spec/fixtures/wsdl/wsdl_fixture.yml +4 -4
- data/spec/savon/client_spec.rb +274 -51
- data/spec/savon/core_ext/datetime_spec.rb +1 -1
- data/spec/savon/core_ext/hash_spec.rb +40 -4
- data/spec/savon/core_ext/object_spec.rb +1 -1
- data/spec/savon/core_ext/string_spec.rb +0 -12
- data/spec/savon/http/error_spec.rb +52 -0
- data/spec/savon/savon_spec.rb +90 -0
- data/spec/savon/soap/fault_spec.rb +80 -0
- data/spec/savon/soap/request_spec.rb +45 -0
- data/spec/savon/soap/response_spec.rb +153 -0
- data/spec/savon/soap/xml_spec.rb +249 -0
- data/spec/savon/soap_spec.rb +4 -177
- data/spec/savon/{wsdl_spec.rb → wsdl/document_spec.rb} +54 -17
- data/spec/savon/wsdl/request_spec.rb +15 -0
- data/spec/savon/wsse_spec.rb +123 -92
- data/spec/spec_helper.rb +19 -4
- data/spec/support/endpoint.rb +25 -0
- metadata +97 -97
- data/.autotest +0 -5
- data/CHANGELOG +0 -176
- data/README.rdoc +0 -64
- data/lib/savon/core_ext.rb +0 -8
- data/lib/savon/core_ext/net_http.rb +0 -19
- data/lib/savon/core_ext/uri.rb +0 -10
- data/lib/savon/logger.rb +0 -56
- data/lib/savon/request.rb +0 -138
- data/lib/savon/response.rb +0 -174
- data/lib/savon/wsdl.rb +0 -137
- data/lib/savon/wsdl_stream.rb +0 -85
- data/spec/basic_spec_helper.rb +0 -11
- data/spec/endpoint_helper.rb +0 -23
- data/spec/http_stubs.rb +0 -26
- data/spec/integration/http_basic_auth_spec.rb +0 -16
- data/spec/integration/server.rb +0 -51
- data/spec/savon/core_ext/net_http_spec.rb +0 -38
- data/spec/savon/core_ext/uri_spec.rb +0 -19
- data/spec/savon/request_spec.rb +0 -117
- data/spec/savon/response_spec.rb +0 -179
- data/spec/spec.opts +0 -4
@@ -1,24 +1,65 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Savon::WSDL do
|
4
|
-
describe "a common WSDL document" do
|
5
|
-
before { @wsdl = new_wsdl }
|
3
|
+
describe Savon::WSDL::Document do
|
6
4
|
|
7
|
-
|
8
|
-
|
5
|
+
context "with a remote document" do
|
6
|
+
let(:wsdl) { Savon::WSDL::Document.new HTTPI::Request.new, Endpoint.wsdl }
|
7
|
+
before { HTTPI.stubs(:get).returns(new_response) }
|
8
|
+
|
9
|
+
it "should be present" do
|
10
|
+
wsdl.should be_present
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "#namespace" do
|
14
|
+
it "should return the namespace URI" do
|
15
|
+
wsdl.namespace.should == WSDLFixture.authentication(:namespace)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "#soap_actions" do
|
20
|
+
it "should return an Array of available SOAP actions" do
|
21
|
+
wsdl.soap_actions.should include(*WSDLFixture.authentication(:operations).keys)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
context "with a local document" do
|
27
|
+
let(:wsdl) do
|
28
|
+
wsdl = "spec/fixtures/wsdl/xml/authentication.xml"
|
29
|
+
Savon::WSDL::Document.new HTTPI::Request.new, wsdl
|
30
|
+
end
|
31
|
+
|
32
|
+
before { HTTPI.expects(:get).never }
|
33
|
+
|
34
|
+
it "should be present" do
|
35
|
+
wsdl.should be_present
|
9
36
|
end
|
10
37
|
|
11
|
-
|
12
|
-
|
13
|
-
|
38
|
+
describe "#namespace" do
|
39
|
+
it "should return the namespace URI" do
|
40
|
+
wsdl.namespace.should == WSDLFixture.authentication(:namespace)
|
41
|
+
end
|
14
42
|
end
|
15
43
|
|
16
|
-
|
17
|
-
|
44
|
+
describe "#soap_actions" do
|
45
|
+
it "should return an Array of available SOAP actions" do
|
46
|
+
wsdl.soap_actions.should include(*WSDLFixture.authentication(:operations).keys)
|
47
|
+
end
|
18
48
|
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def new_response(options = {})
|
52
|
+
defaults = { :code => 200, :headers => {}, :body => WSDLFixture.load }
|
53
|
+
response = defaults.merge options
|
54
|
+
|
55
|
+
HTTPI::Response.new(response[:code], response[:headers], response[:body])
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
__END__
|
19
60
|
|
20
61
|
it "has a getter for the namespace URI" do
|
21
|
-
@wsdl.
|
62
|
+
@wsdl.namespace.should == WSDLFixture.authentication(:namespace_uri)
|
22
63
|
end
|
23
64
|
|
24
65
|
it "has a getter for returning an Array of available SOAP actions" do
|
@@ -40,8 +81,8 @@ describe Savon::WSDL do
|
|
40
81
|
@wsdl.respond_to?(:some_undefined_method).should be_false
|
41
82
|
end
|
42
83
|
|
43
|
-
it "returns the raw WSDL document for
|
44
|
-
@wsdl.
|
84
|
+
it "returns the raw WSDL document for to_xml" do
|
85
|
+
@wsdl.to_xml.should == WSDLFixture.authentication
|
45
86
|
end
|
46
87
|
end
|
47
88
|
|
@@ -99,9 +140,5 @@ describe Savon::WSDL do
|
|
99
140
|
end
|
100
141
|
end
|
101
142
|
|
102
|
-
def new_wsdl(fixture = nil)
|
103
|
-
endpoint = fixture ? EndpointHelper.wsdl_endpoint(fixture) : EndpointHelper.wsdl_endpoint
|
104
|
-
Savon::WSDL.new Savon::Request.new(endpoint)
|
105
|
-
end
|
106
143
|
|
107
144
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Savon::WSDL::Request do
|
4
|
+
let(:http_request) { HTTPI::Request.new :url => Endpoint.wsdl }
|
5
|
+
let(:request) { Savon::WSDL::Request.new http_request }
|
6
|
+
|
7
|
+
describe "#response" do
|
8
|
+
it "execute an HTTP GET request and return the HTTPI::Response" do
|
9
|
+
response = HTTPI::Response.new 200, {}, ResponseFixture.authentication
|
10
|
+
HTTPI.expects(:get).with(http_request).returns(response)
|
11
|
+
request.response.should == response
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
data/spec/savon/wsse_spec.rb
CHANGED
@@ -1,130 +1,161 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
describe Savon::WSSE do
|
4
|
-
|
5
|
-
Savon::WSSE.username, Savon::WSSE.password, Savon::WSSE.digest = nil, nil, false
|
6
|
-
@wsse, @username, @password = Savon::WSSE.new, "gorilla", "secret"
|
7
|
-
end
|
8
|
-
|
9
|
-
it "contains the namespace for WS Security Secext" do
|
10
|
-
Savon::WSSE::WSENamespace.should be_a(String)
|
11
|
-
Savon::WSSE::WSENamespace.should_not be_empty
|
12
|
-
end
|
4
|
+
let(:wsse) { Savon::WSSE.new }
|
13
5
|
|
14
|
-
it "
|
15
|
-
Savon::WSSE::
|
16
|
-
|
6
|
+
it "should contain the namespace for WS Security Secext" do
|
7
|
+
Savon::WSSE::WSENamespace.should ==
|
8
|
+
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
|
17
9
|
end
|
18
10
|
|
19
|
-
it "
|
20
|
-
Savon::WSSE.
|
11
|
+
it "should contain the namespace for WS Security Utility" do
|
12
|
+
Savon::WSSE::WSUNamespace.should ==
|
13
|
+
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
21
14
|
end
|
22
15
|
|
23
|
-
it "
|
24
|
-
Savon::WSSE.
|
25
|
-
|
16
|
+
it "should contain the namespace for the PasswordText type" do
|
17
|
+
Savon::WSSE::PasswordTextURI.should ==
|
18
|
+
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"
|
26
19
|
end
|
27
20
|
|
28
|
-
it "
|
29
|
-
Savon::WSSE.
|
21
|
+
it "should contain the namespace for the PasswordDigest type" do
|
22
|
+
Savon::WSSE::PasswordDigestURI.should ==
|
23
|
+
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest"
|
30
24
|
end
|
31
25
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
26
|
+
describe "#credentials" do
|
27
|
+
it "should set the username" do
|
28
|
+
wsse.credentials "username", "password"
|
29
|
+
wsse.username.should == "username"
|
30
|
+
end
|
36
31
|
|
37
|
-
|
38
|
-
|
39
|
-
|
32
|
+
it "should set the password" do
|
33
|
+
wsse.credentials "username", "password"
|
34
|
+
wsse.password.should == "password"
|
35
|
+
end
|
40
36
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
37
|
+
it "should default to set digest to false" do
|
38
|
+
wsse.credentials "username", "password"
|
39
|
+
wsse.should_not be_digest
|
40
|
+
end
|
45
41
|
|
46
|
-
|
47
|
-
|
42
|
+
it "should set digest to true if specified" do
|
43
|
+
wsse.credentials "username", "password", :digest
|
44
|
+
wsse.should be_digest
|
45
|
+
end
|
48
46
|
end
|
49
47
|
|
50
|
-
|
51
|
-
|
52
|
-
|
48
|
+
describe "#username" do
|
49
|
+
it "should set the username" do
|
50
|
+
wsse.username = "username"
|
51
|
+
wsse.username.should == "username"
|
52
|
+
end
|
53
53
|
end
|
54
54
|
|
55
|
-
|
56
|
-
|
55
|
+
describe "#password" do
|
56
|
+
it "should set the password" do
|
57
|
+
wsse.password = "password"
|
58
|
+
wsse.password.should == "password"
|
59
|
+
end
|
57
60
|
end
|
58
61
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
62
|
+
describe "#digest" do
|
63
|
+
it "should default to false" do
|
64
|
+
wsse.should_not be_digest
|
65
|
+
end
|
63
66
|
|
64
|
-
|
65
|
-
|
67
|
+
it "should specify whether to use digest auth" do
|
68
|
+
wsse.digest = true
|
69
|
+
wsse.should be_digest
|
70
|
+
end
|
66
71
|
end
|
67
72
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
73
|
+
describe "#to_xml" do
|
74
|
+
context "with no credentials" do
|
75
|
+
it "should return an empty String" do
|
76
|
+
wsse.to_xml.should == ""
|
77
|
+
end
|
78
|
+
end
|
72
79
|
|
73
|
-
|
74
|
-
|
75
|
-
it "with WSSE credentials specified" do
|
76
|
-
@wsse.username = @username
|
77
|
-
@wsse.password = @password
|
78
|
-
header = @wsse.header
|
80
|
+
context "with only a username" do
|
81
|
+
before { wsse.username = "username" }
|
79
82
|
|
80
|
-
|
81
|
-
|
82
|
-
header.should include(@password)
|
83
|
-
header.should include(Savon::WSSE::PasswordTextURI)
|
83
|
+
it "should return an empty String" do
|
84
|
+
wsse.to_xml.should == ""
|
84
85
|
end
|
86
|
+
end
|
85
87
|
|
86
|
-
|
87
|
-
|
88
|
-
Savon::WSSE.password = @password
|
89
|
-
header = @wsse.header
|
88
|
+
context "with only a password" do
|
89
|
+
before { wsse.password = "password" }
|
90
90
|
|
91
|
-
|
92
|
-
|
93
|
-
header.should include(@password)
|
94
|
-
header.should include(Savon::WSSE::PasswordTextURI)
|
91
|
+
it "should return an empty String" do
|
92
|
+
wsse.to_xml.should == ""
|
95
93
|
end
|
96
94
|
end
|
97
95
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
96
|
+
context "with credentials" do
|
97
|
+
before { wsse.credentials "username", "password" }
|
98
|
+
|
99
|
+
it "should contain a wsse:Security tag" do
|
100
|
+
namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
|
101
|
+
wsse.to_xml.should include("<wsse:Security xmlns:wsse=\"#{namespace}\">")
|
102
|
+
end
|
103
|
+
|
104
|
+
it "should contain a wsu:Id attribute" do
|
105
|
+
wsse.to_xml.should include('<wsse:UsernameToken wsu:Id="UsernameToken-1"')
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should increment the wsu:Id attribute count" do
|
109
|
+
wsse.to_xml.should include('<wsse:UsernameToken wsu:Id="UsernameToken-1"')
|
110
|
+
wsse.to_xml.should include('<wsse:UsernameToken wsu:Id="UsernameToken-2"')
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should contain the WSE and WSU namespaces" do
|
114
|
+
wsse.to_xml.should include(Savon::WSSE::WSENamespace, Savon::WSSE::WSUNamespace)
|
115
|
+
end
|
116
|
+
|
117
|
+
it "should contain the username and password" do
|
118
|
+
wsse.to_xml.should include("username", "password")
|
119
|
+
end
|
120
|
+
|
121
|
+
it "should contain a wsse:Nonce tag" do
|
122
|
+
wsse.to_xml.should match(/<wsse:Nonce>\w+<\/wsse:Nonce>/)
|
123
|
+
end
|
124
|
+
|
125
|
+
it "should contain a wsu:Created tag" do
|
126
|
+
wsse.to_xml.should match(/<wsu:Created>#{Savon::SOAP::DateTimeRegexp}.+<\/wsu:Created>/)
|
127
|
+
end
|
128
|
+
|
129
|
+
it "should contain the PasswordText type attribute" do
|
130
|
+
wsse.to_xml.should include(Savon::WSSE::PasswordTextURI)
|
121
131
|
end
|
122
132
|
end
|
123
133
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
134
|
+
context "with credentials and digest auth" do
|
135
|
+
before { wsse.credentials "username", "password", :digest }
|
136
|
+
|
137
|
+
it "should contain the WSE and WSU namespaces" do
|
138
|
+
wsse.to_xml.should include(Savon::WSSE::WSENamespace, Savon::WSSE::WSUNamespace)
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should contain the username" do
|
142
|
+
wsse.to_xml.should include("username")
|
143
|
+
end
|
144
|
+
|
145
|
+
it "should not contain the (original) password" do
|
146
|
+
wsse.to_xml.should_not include("password")
|
147
|
+
end
|
148
|
+
|
149
|
+
it "should contain a wsse:Nonce tag" do
|
150
|
+
wsse.to_xml.should match(/<wsse:Nonce>\w+<\/wsse:Nonce>/)
|
151
|
+
end
|
152
|
+
|
153
|
+
it "should contain a wsu:Created tag" do
|
154
|
+
wsse.to_xml.should match(/<wsu:Created>#{Savon::SOAP::DateTimeRegexp}.+<\/wsu:Created>/)
|
155
|
+
end
|
156
|
+
|
157
|
+
it "should contain the PasswordDigest type attribute" do
|
158
|
+
wsse.to_xml.should include(Savon::WSSE::PasswordDigestURI)
|
128
159
|
end
|
129
160
|
end
|
130
161
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,20 @@
|
|
1
|
-
require "
|
1
|
+
require "rspec"
|
2
|
+
require "mocha"
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
|
4
|
+
spec = File.expand_path("..", __FILE__)
|
5
|
+
$:.unshift spec unless $:.include? spec
|
6
|
+
|
7
|
+
RSpec.configure do |config|
|
8
|
+
config.mock_with :mocha
|
9
|
+
end
|
10
|
+
|
11
|
+
require "savon"
|
12
|
+
|
13
|
+
# Disable logging for specs.
|
14
|
+
Savon.log = false
|
15
|
+
|
16
|
+
# Requires fixtures.
|
17
|
+
Dir[File.expand_path("../fixtures/**/*.rb", __FILE__)].each { |file| require file }
|
18
|
+
|
19
|
+
# Requires supporting files.
|
20
|
+
require "support/endpoint"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class Endpoint
|
2
|
+
class << self
|
3
|
+
|
4
|
+
# Returns the WSDL endpoint for a given +type+ of request.
|
5
|
+
def wsdl(type = nil)
|
6
|
+
case type
|
7
|
+
when :no_namespace then "http://nons.example.com/Service?wsdl"
|
8
|
+
when :namespaced_actions then "http://nsactions.example.com/Service?wsdl"
|
9
|
+
when :geotrust then "https://test-api.geotrust.com/webtrust/query.jws?WSDL"
|
10
|
+
else soap(type)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
# Returns the SOAP endpoint for a given +type+ of request.
|
15
|
+
def soap(type = nil)
|
16
|
+
case type
|
17
|
+
when :soap_fault then "http://soapfault.example.com/Service?wsdl"
|
18
|
+
when :http_error then "http://httperror.example.com/Service?wsdl"
|
19
|
+
when :invalid then "http://invalid.example.com/Service?wsdl"
|
20
|
+
else "http://example.com/validation/1.0/AuthenticationService"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: savon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 62196257
|
5
|
+
prerelease: true
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
|
8
|
+
- 8
|
9
|
+
- 0
|
10
|
+
- beta
|
11
|
+
- 1
|
12
|
+
version: 0.8.0.beta.1
|
10
13
|
platform: ruby
|
11
14
|
authors:
|
12
15
|
- Daniel Harrington
|
@@ -14,16 +17,18 @@ autorequire:
|
|
14
17
|
bindir: bin
|
15
18
|
cert_chain: []
|
16
19
|
|
17
|
-
date: 2010-
|
20
|
+
date: 2010-10-29 00:00:00 +02:00
|
18
21
|
default_executable:
|
19
22
|
dependencies:
|
20
23
|
- !ruby/object:Gem::Dependency
|
21
24
|
name: builder
|
22
25
|
prerelease: false
|
23
26
|
requirement: &id001 !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
24
28
|
requirements:
|
25
|
-
- -
|
29
|
+
- - ~>
|
26
30
|
- !ruby/object:Gem::Version
|
31
|
+
hash: 15
|
27
32
|
segments:
|
28
33
|
- 2
|
29
34
|
- 1
|
@@ -35,179 +40,174 @@ dependencies:
|
|
35
40
|
name: crack
|
36
41
|
prerelease: false
|
37
42
|
requirement: &id002 !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
38
44
|
requirements:
|
39
|
-
- -
|
45
|
+
- - ~>
|
40
46
|
- !ruby/object:Gem::Version
|
47
|
+
hash: 11
|
41
48
|
segments:
|
42
49
|
- 0
|
43
50
|
- 1
|
44
|
-
-
|
45
|
-
version: 0.1.
|
51
|
+
- 8
|
52
|
+
version: 0.1.8
|
46
53
|
type: :runtime
|
47
54
|
version_requirements: *id002
|
48
55
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
56
|
+
name: httpi
|
50
57
|
prerelease: false
|
51
58
|
requirement: &id003 !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
52
60
|
requirements:
|
53
61
|
- - ">="
|
54
62
|
- !ruby/object:Gem::Version
|
63
|
+
hash: 7
|
55
64
|
segments:
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
59
|
-
version:
|
60
|
-
type: :
|
65
|
+
- 0
|
66
|
+
- 6
|
67
|
+
- 0
|
68
|
+
version: 0.6.0
|
69
|
+
type: :runtime
|
61
70
|
version_requirements: *id003
|
62
71
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
72
|
+
name: rspec
|
64
73
|
prerelease: false
|
65
74
|
requirement: &id004 !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
66
76
|
requirements:
|
67
|
-
- -
|
77
|
+
- - ~>
|
68
78
|
- !ruby/object:Gem::Version
|
79
|
+
hash: 15
|
69
80
|
segments:
|
81
|
+
- 2
|
70
82
|
- 0
|
71
|
-
-
|
72
|
-
|
73
|
-
version: 0.9.7
|
83
|
+
- 0
|
84
|
+
version: 2.0.0
|
74
85
|
type: :development
|
75
86
|
version_requirements: *id004
|
76
87
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
88
|
+
name: mocha
|
78
89
|
prerelease: false
|
79
90
|
requirement: &id005 !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
80
92
|
requirements:
|
81
|
-
- -
|
93
|
+
- - ~>
|
82
94
|
- !ruby/object:Gem::Version
|
95
|
+
hash: 53
|
83
96
|
segments:
|
84
|
-
-
|
85
|
-
-
|
97
|
+
- 0
|
98
|
+
- 9
|
86
99
|
- 7
|
87
|
-
version:
|
100
|
+
version: 0.9.7
|
88
101
|
type: :development
|
89
102
|
version_requirements: *id005
|
90
|
-
description:
|
103
|
+
description: Savon is the heavy metal Ruby SOAP client.
|
91
104
|
email: me@rubiii.com
|
92
105
|
executables: []
|
93
106
|
|
94
107
|
extensions: []
|
95
108
|
|
96
|
-
extra_rdoc_files:
|
97
|
-
|
109
|
+
extra_rdoc_files: []
|
110
|
+
|
98
111
|
files:
|
99
|
-
-
|
112
|
+
- .gitignore
|
113
|
+
- .rspec
|
114
|
+
- .yardopts
|
115
|
+
- CHANGELOG.md
|
116
|
+
- Gemfile
|
117
|
+
- LICENSE
|
118
|
+
- README.md
|
100
119
|
- Rakefile
|
101
|
-
-
|
120
|
+
- autotest/discover.rb
|
121
|
+
- lib/savon.rb
|
102
122
|
- lib/savon/client.rb
|
103
123
|
- lib/savon/core_ext/array.rb
|
104
124
|
- lib/savon/core_ext/datetime.rb
|
105
125
|
- lib/savon/core_ext/hash.rb
|
106
|
-
- lib/savon/core_ext/net_http.rb
|
107
126
|
- lib/savon/core_ext/object.rb
|
108
127
|
- lib/savon/core_ext/string.rb
|
109
128
|
- lib/savon/core_ext/symbol.rb
|
110
|
-
- lib/savon/
|
111
|
-
- lib/savon/
|
112
|
-
- lib/savon/
|
113
|
-
- lib/savon/request.rb
|
114
|
-
- lib/savon/response.rb
|
129
|
+
- lib/savon/error.rb
|
130
|
+
- lib/savon/global.rb
|
131
|
+
- lib/savon/http/error.rb
|
115
132
|
- lib/savon/soap.rb
|
133
|
+
- lib/savon/soap/fault.rb
|
134
|
+
- lib/savon/soap/request.rb
|
135
|
+
- lib/savon/soap/response.rb
|
136
|
+
- lib/savon/soap/xml.rb
|
116
137
|
- lib/savon/version.rb
|
117
|
-
- lib/savon/wsdl.rb
|
118
|
-
- lib/savon/
|
138
|
+
- lib/savon/wsdl/document.rb
|
139
|
+
- lib/savon/wsdl/parser.rb
|
140
|
+
- lib/savon/wsdl/request.rb
|
119
141
|
- lib/savon/wsse.rb
|
120
|
-
-
|
121
|
-
- spec/basic_spec_helper.rb
|
122
|
-
- spec/endpoint_helper.rb
|
142
|
+
- savon.gemspec
|
123
143
|
- spec/fixtures/gzip/gzip_response_fixture.rb
|
144
|
+
- spec/fixtures/gzip/message.gz
|
124
145
|
- spec/fixtures/response/response_fixture.rb
|
146
|
+
- spec/fixtures/response/xml/authentication.xml
|
147
|
+
- spec/fixtures/response/xml/list.xml
|
148
|
+
- spec/fixtures/response/xml/multi_ref.xml
|
149
|
+
- spec/fixtures/response/xml/soap_fault.xml
|
150
|
+
- spec/fixtures/response/xml/soap_fault12.xml
|
125
151
|
- spec/fixtures/wsdl/wsdl_fixture.rb
|
126
|
-
- spec/
|
127
|
-
- spec/
|
128
|
-
- spec/
|
152
|
+
- spec/fixtures/wsdl/wsdl_fixture.yml
|
153
|
+
- spec/fixtures/wsdl/xml/authentication.xml
|
154
|
+
- spec/fixtures/wsdl/xml/geotrust.xml
|
155
|
+
- spec/fixtures/wsdl/xml/namespaced_actions.xml
|
156
|
+
- spec/fixtures/wsdl/xml/no_namespace.xml
|
129
157
|
- spec/savon/client_spec.rb
|
130
158
|
- spec/savon/core_ext/array_spec.rb
|
131
159
|
- spec/savon/core_ext/datetime_spec.rb
|
132
160
|
- spec/savon/core_ext/hash_spec.rb
|
133
|
-
- spec/savon/core_ext/net_http_spec.rb
|
134
161
|
- spec/savon/core_ext/object_spec.rb
|
135
162
|
- spec/savon/core_ext/string_spec.rb
|
136
163
|
- spec/savon/core_ext/symbol_spec.rb
|
137
|
-
- spec/savon/
|
138
|
-
- spec/savon/
|
139
|
-
- spec/savon/
|
164
|
+
- spec/savon/http/error_spec.rb
|
165
|
+
- spec/savon/savon_spec.rb
|
166
|
+
- spec/savon/soap/fault_spec.rb
|
167
|
+
- spec/savon/soap/request_spec.rb
|
168
|
+
- spec/savon/soap/response_spec.rb
|
169
|
+
- spec/savon/soap/xml_spec.rb
|
140
170
|
- spec/savon/soap_spec.rb
|
141
|
-
- spec/savon/
|
171
|
+
- spec/savon/wsdl/document_spec.rb
|
172
|
+
- spec/savon/wsdl/request_spec.rb
|
142
173
|
- spec/savon/wsse_spec.rb
|
143
174
|
- spec/spec_helper.rb
|
144
|
-
- spec/
|
145
|
-
- spec/fixtures/response/xml/multi_ref.xml
|
146
|
-
- spec/fixtures/response/xml/soap_fault.xml
|
147
|
-
- spec/fixtures/response/xml/soap_fault12.xml
|
148
|
-
- spec/fixtures/wsdl/xml/authentication.xml
|
149
|
-
- spec/fixtures/wsdl/xml/geotrust.xml
|
150
|
-
- spec/fixtures/wsdl/xml/namespaced_actions.xml
|
151
|
-
- spec/fixtures/wsdl/xml/no_namespace.xml
|
152
|
-
- spec/fixtures/wsdl/wsdl_fixture.yml
|
153
|
-
- spec/fixtures/gzip/message.gz
|
154
|
-
- .autotest
|
155
|
-
- spec/spec.opts
|
175
|
+
- spec/support/endpoint.rb
|
156
176
|
has_rdoc: true
|
157
177
|
homepage: http://github.com/rubiii/savon
|
158
178
|
licenses: []
|
159
179
|
|
160
180
|
post_install_message:
|
161
|
-
rdoc_options:
|
162
|
-
|
163
|
-
- --line-numbers
|
164
|
-
- --inline-source
|
165
|
-
- --title
|
166
|
-
- Savon - Heavy metal Ruby SOAP client library
|
181
|
+
rdoc_options: []
|
182
|
+
|
167
183
|
require_paths:
|
168
184
|
- lib
|
169
185
|
required_ruby_version: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
170
187
|
requirements:
|
171
188
|
- - ">="
|
172
189
|
- !ruby/object:Gem::Version
|
190
|
+
hash: 3
|
173
191
|
segments:
|
174
192
|
- 0
|
175
193
|
version: "0"
|
176
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
+
none: false
|
177
196
|
requirements:
|
178
|
-
- - "
|
197
|
+
- - ">"
|
179
198
|
- !ruby/object:Gem::Version
|
199
|
+
hash: 25
|
180
200
|
segments:
|
181
|
-
-
|
182
|
-
|
201
|
+
- 1
|
202
|
+
- 3
|
203
|
+
- 1
|
204
|
+
version: 1.3.1
|
183
205
|
requirements: []
|
184
206
|
|
185
|
-
rubyforge_project:
|
186
|
-
rubygems_version: 1.3.
|
207
|
+
rubyforge_project: savon
|
208
|
+
rubygems_version: 1.3.7
|
187
209
|
signing_key:
|
188
210
|
specification_version: 3
|
189
|
-
summary: Heavy metal Ruby SOAP client
|
190
|
-
test_files:
|
191
|
-
|
192
|
-
- spec/endpoint_helper.rb
|
193
|
-
- spec/fixtures/gzip/gzip_response_fixture.rb
|
194
|
-
- spec/fixtures/response/response_fixture.rb
|
195
|
-
- spec/fixtures/wsdl/wsdl_fixture.rb
|
196
|
-
- spec/http_stubs.rb
|
197
|
-
- spec/integration/http_basic_auth_spec.rb
|
198
|
-
- spec/integration/server.rb
|
199
|
-
- spec/savon/client_spec.rb
|
200
|
-
- spec/savon/core_ext/array_spec.rb
|
201
|
-
- spec/savon/core_ext/datetime_spec.rb
|
202
|
-
- spec/savon/core_ext/hash_spec.rb
|
203
|
-
- spec/savon/core_ext/net_http_spec.rb
|
204
|
-
- spec/savon/core_ext/object_spec.rb
|
205
|
-
- spec/savon/core_ext/string_spec.rb
|
206
|
-
- spec/savon/core_ext/symbol_spec.rb
|
207
|
-
- spec/savon/core_ext/uri_spec.rb
|
208
|
-
- spec/savon/request_spec.rb
|
209
|
-
- spec/savon/response_spec.rb
|
210
|
-
- spec/savon/soap_spec.rb
|
211
|
-
- spec/savon/wsdl_spec.rb
|
212
|
-
- spec/savon/wsse_spec.rb
|
213
|
-
- spec/spec_helper.rb
|
211
|
+
summary: Heavy metal Ruby SOAP client
|
212
|
+
test_files: []
|
213
|
+
|