savon 2.13.1 → 2.14.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/lib/savon/builder.rb +4 -3
- data/lib/savon/model.rb +3 -3
- data/lib/savon/options.rb +1 -1
- data/lib/savon/response.rb +3 -3
- data/lib/savon/string_utils.rb +17 -0
- data/lib/savon/version.rb +1 -1
- data/lib/savon.rb +1 -0
- metadata +17 -76
- data/.gitignore +0 -16
- data/.yardopts +0 -6
- data/CONTRIBUTING.md +0 -42
- data/Gemfile +0 -8
- data/RELEASING.md +0 -10
- data/lib/savon/core_ext/string.rb +0 -30
- data/savon.gemspec +0 -47
- data/spec/fixtures/gzip/message.gz +0 -0
- data/spec/fixtures/response/another_soap_fault.xml +0 -14
- data/spec/fixtures/response/authentication.xml +0 -14
- data/spec/fixtures/response/empty_soap_fault.xml +0 -13
- data/spec/fixtures/response/f5.xml +0 -39
- data/spec/fixtures/response/header.xml +0 -13
- data/spec/fixtures/response/list.xml +0 -18
- data/spec/fixtures/response/multi_ref.xml +0 -39
- data/spec/fixtures/response/no_body.xml +0 -1
- data/spec/fixtures/response/soap_fault.xml +0 -8
- data/spec/fixtures/response/soap_fault12.xml +0 -18
- data/spec/fixtures/response/soap_fault_funky.xml +0 -8
- data/spec/fixtures/response/taxcloud.xml +0 -1
- data/spec/fixtures/ssl/client_cert.pem +0 -16
- data/spec/fixtures/ssl/client_encrypted_key.pem +0 -30
- data/spec/fixtures/ssl/client_encrypted_key_cert.pem +0 -24
- data/spec/fixtures/ssl/client_key.pem +0 -15
- data/spec/fixtures/wsdl/authentication.xml +0 -63
- data/spec/fixtures/wsdl/betfair.xml +0 -2981
- data/spec/fixtures/wsdl/brand.xml +0 -624
- data/spec/fixtures/wsdl/edialog.xml +0 -15416
- data/spec/fixtures/wsdl/elements_in_types.xml +0 -43
- data/spec/fixtures/wsdl/interhome.xml +0 -2137
- data/spec/fixtures/wsdl/lower_camel.xml +0 -52
- data/spec/fixtures/wsdl/multiple_namespaces.xml +0 -92
- data/spec/fixtures/wsdl/multiple_types.xml +0 -60
- data/spec/fixtures/wsdl/no_message_tag.xml +0 -1267
- data/spec/fixtures/wsdl/taxcloud.xml +0 -934
- data/spec/fixtures/wsdl/team_software.xml +0 -1
- data/spec/fixtures/wsdl/vies.xml +0 -176
- data/spec/fixtures/wsdl/wasmuth.xml +0 -153
- data/spec/integration/support/application.rb +0 -114
- data/spec/integration/support/server.rb +0 -85
- data/spec/integration/zipcode_example_spec.rb +0 -39
- data/spec/savon/builder_spec.rb +0 -138
- data/spec/savon/client_spec.rb +0 -272
- data/spec/savon/core_ext/string_spec.rb +0 -38
- data/spec/savon/features/message_tag_spec.rb +0 -62
- data/spec/savon/http_error_spec.rb +0 -57
- data/spec/savon/log_message_spec.rb +0 -51
- data/spec/savon/message_spec.rb +0 -61
- data/spec/savon/mock_spec.rb +0 -175
- data/spec/savon/model_spec.rb +0 -183
- data/spec/savon/multipart_request_spec.rb +0 -46
- data/spec/savon/observers_spec.rb +0 -93
- data/spec/savon/operation_spec.rb +0 -207
- data/spec/savon/options_spec.rb +0 -1154
- data/spec/savon/qualified_message_spec.rb +0 -102
- data/spec/savon/request_logger_spec.rb +0 -38
- data/spec/savon/request_spec.rb +0 -581
- data/spec/savon/response_spec.rb +0 -276
- data/spec/savon/soap_fault_spec.rb +0 -147
- data/spec/savon/softlayer_spec.rb +0 -42
- data/spec/spec_helper.rb +0 -31
- data/spec/support/adapters.rb +0 -49
- data/spec/support/endpoint.rb +0 -26
- data/spec/support/fixture.rb +0 -40
- data/spec/support/integration.rb +0 -10
- data/spec/support/stdout.rb +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06d51f50e77421b9c47f4879bf243ab850fe79c0ef520be98547b4d8ddf7265f
|
4
|
+
data.tar.gz: 4054d063de6bb45ba6fac8527ed96a66639ab9c56697c0d5386f80e09f452782
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0667f3ffb291ae9d01678539f43eb4fc05bbe593c6ce4f8019890116984befa424c6a1fd9847f1db57edd1b1df2ed2600da465e5f72f09156807f80138be872
|
7
|
+
data.tar.gz: 764d2b88bd39f6e552a6a0a6f58c8a19d7b5bd22bdad17fe999fccf9c8f2d5aa2f0d426a10e900a6f0e480f967f1c9cf6faba087777c5e0a674267eae24d20f4
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
# Savon changelog
|
2
2
|
|
3
3
|
## Unreleased
|
4
|
-
|
5
4
|
* Add your PR changelog line here
|
6
5
|
|
6
|
+
## 2.14.0 (2022-12-16)
|
7
|
+
|
8
|
+
* BC BREAKING Fix: [#985](https://github.com/savonrb/savon/pull/985) Renamed `Savon::Response#hash` to `Savon::Response#full_hash`
|
9
|
+
* BC BREAKING Fix: [#988](https://github.com/savonrb/savon/pull/988) Savon no longer monkeypatches `String#snakecase`
|
10
|
+
* Fix: [#989](https://github.com/savonrb/savon/pull/989) Do not include xmlns from WSDL, which breaks some servers
|
11
|
+
|
7
12
|
## 2.13.1 (2022-09-04)
|
8
13
|
|
9
14
|
* Fix: [#977](https://github.com/savonrb/savon/pull/977) Prevent "xmlns:xmlns" namespace but allow "xmlns" namespace.
|
data/lib/savon/builder.rb
CHANGED
@@ -121,8 +121,9 @@ module Savon
|
|
121
121
|
|
122
122
|
if @wsdl&.document
|
123
123
|
@wsdl.parser.namespaces.each do |identifier, path|
|
124
|
-
|
125
|
-
|
124
|
+
next if identifier == 'xmlns' # Do not include xmlns namespace as this causes issues for some servers (https://github.com/savonrb/savon/issues/986)
|
125
|
+
|
126
|
+
prefixed_identifier = "xmlns:#{identifier}"
|
126
127
|
|
127
128
|
next if namespaces.key?(prefixed_identifier)
|
128
129
|
|
@@ -163,7 +164,7 @@ module Savon
|
|
163
164
|
message_tag = serialized_message_tag[1]
|
164
165
|
@wsdl.soap_input(@operation_name.to_sym)[message_tag].each_pair do |message, type|
|
165
166
|
break if @locals[:message].nil?
|
166
|
-
message_locals = @locals[:message][
|
167
|
+
message_locals = @locals[:message][StringUtils.snakecase(message).to_sym]
|
167
168
|
message_content = Message.new(message_tag, namespace_identifier, @types, @used_namespaces, message_locals, :unqualified, @globals[:convert_request_keys_to], @globals[:unwrap]).to_s
|
168
169
|
messages += "<#{message} xsi:type=\"#{type.join(':')}\">#{message_content}</#{message}>"
|
169
170
|
end
|
data/lib/savon/model.rb
CHANGED
@@ -29,7 +29,7 @@ module Savon
|
|
29
29
|
# Defines a class-level SOAP operation.
|
30
30
|
def define_class_operation(operation)
|
31
31
|
class_operation_module.module_eval %{
|
32
|
-
def #{operation.to_s
|
32
|
+
def #{StringUtils.snakecase(operation.to_s)}(locals = {})
|
33
33
|
client.call #{operation.inspect}, locals
|
34
34
|
end
|
35
35
|
}
|
@@ -38,8 +38,8 @@ module Savon
|
|
38
38
|
# Defines an instance-level SOAP operation.
|
39
39
|
def define_instance_operation(operation)
|
40
40
|
instance_operation_module.module_eval %{
|
41
|
-
def #{operation.to_s
|
42
|
-
self.class.#{operation.to_s
|
41
|
+
def #{StringUtils.snakecase(operation.to_s)}(locals = {})
|
42
|
+
self.class.#{StringUtils.snakecase(operation.to_s)} locals
|
43
43
|
end
|
44
44
|
}
|
45
45
|
end
|
data/lib/savon/options.rb
CHANGED
@@ -85,7 +85,7 @@ module Savon
|
|
85
85
|
:raise_errors => true,
|
86
86
|
:strip_namespaces => true,
|
87
87
|
:delete_namespace_attributes => false,
|
88
|
-
:convert_response_tags_to => lambda { |tag|
|
88
|
+
:convert_response_tags_to => lambda { |tag| StringUtils.snakecase(tag).to_sym},
|
89
89
|
:convert_attributes_to => lambda { |k,v| [k,v] },
|
90
90
|
:multipart => false,
|
91
91
|
:adapter => nil,
|
data/lib/savon/response.rb
CHANGED
@@ -54,8 +54,8 @@ module Savon
|
|
54
54
|
result.kind_of?(Array) ? result.compact : [result].compact
|
55
55
|
end
|
56
56
|
|
57
|
-
def
|
58
|
-
@
|
57
|
+
def full_hash
|
58
|
+
@full_hash ||= nori.parse(xml)
|
59
59
|
end
|
60
60
|
|
61
61
|
def xml
|
@@ -79,7 +79,7 @@ module Savon
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def find(*path)
|
82
|
-
envelope = nori.find(
|
82
|
+
envelope = nori.find(full_hash, 'Envelope')
|
83
83
|
raise_invalid_response_error! unless envelope.is_a?(Hash)
|
84
84
|
|
85
85
|
nori.find(envelope, *path)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Savon
|
4
|
+
module StringUtils
|
5
|
+
def self.snakecase(inputstring)
|
6
|
+
str = inputstring.dup
|
7
|
+
str.gsub! /::/, '/'
|
8
|
+
str.gsub! /([A-Z]+)([A-Z][a-z])/, '\1_\2'
|
9
|
+
str.gsub! /([a-z\d])([A-Z])/, '\1_\2'
|
10
|
+
str.tr! ".", "_"
|
11
|
+
str.tr! "-", "_"
|
12
|
+
str.downcase!
|
13
|
+
str
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
data/lib/savon/version.rb
CHANGED
data/lib/savon.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: savon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Harrington
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nori
|
@@ -126,16 +126,16 @@ dependencies:
|
|
126
126
|
name: rack
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "<"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '4'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "<"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '4'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: puma
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,6 +143,9 @@ dependencies:
|
|
143
143
|
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: 4.3.8
|
146
|
+
- - "<"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '7'
|
146
149
|
type: :development
|
147
150
|
prerelease: false
|
148
151
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -150,6 +153,9 @@ dependencies:
|
|
150
153
|
- - ">="
|
151
154
|
- !ruby/object:Gem::Version
|
152
155
|
version: 4.3.8
|
156
|
+
- - "<"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '7'
|
153
159
|
- !ruby/object:Gem::Dependency
|
154
160
|
name: byebug
|
155
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,20 +232,14 @@ executables: []
|
|
226
232
|
extensions: []
|
227
233
|
extra_rdoc_files: []
|
228
234
|
files:
|
229
|
-
- ".gitignore"
|
230
|
-
- ".yardopts"
|
231
235
|
- CHANGELOG.md
|
232
|
-
- CONTRIBUTING.md
|
233
|
-
- Gemfile
|
234
236
|
- LICENSE
|
235
237
|
- README.md
|
236
|
-
- RELEASING.md
|
237
238
|
- Rakefile
|
238
239
|
- lib/savon.rb
|
239
240
|
- lib/savon/block_interface.rb
|
240
241
|
- lib/savon/builder.rb
|
241
242
|
- lib/savon/client.rb
|
242
|
-
- lib/savon/core_ext/string.rb
|
243
243
|
- lib/savon/header.rb
|
244
244
|
- lib/savon/http_error.rb
|
245
245
|
- lib/savon/log_message.rb
|
@@ -255,72 +255,13 @@ files:
|
|
255
255
|
- lib/savon/request_logger.rb
|
256
256
|
- lib/savon/response.rb
|
257
257
|
- lib/savon/soap_fault.rb
|
258
|
+
- lib/savon/string_utils.rb
|
258
259
|
- lib/savon/version.rb
|
259
|
-
- savon.gemspec
|
260
|
-
- spec/fixtures/gzip/message.gz
|
261
|
-
- spec/fixtures/response/another_soap_fault.xml
|
262
|
-
- spec/fixtures/response/authentication.xml
|
263
|
-
- spec/fixtures/response/empty_soap_fault.xml
|
264
|
-
- spec/fixtures/response/f5.xml
|
265
|
-
- spec/fixtures/response/header.xml
|
266
|
-
- spec/fixtures/response/list.xml
|
267
|
-
- spec/fixtures/response/multi_ref.xml
|
268
|
-
- spec/fixtures/response/no_body.xml
|
269
|
-
- spec/fixtures/response/soap_fault.xml
|
270
|
-
- spec/fixtures/response/soap_fault12.xml
|
271
|
-
- spec/fixtures/response/soap_fault_funky.xml
|
272
|
-
- spec/fixtures/response/taxcloud.xml
|
273
|
-
- spec/fixtures/ssl/client_cert.pem
|
274
|
-
- spec/fixtures/ssl/client_encrypted_key.pem
|
275
|
-
- spec/fixtures/ssl/client_encrypted_key_cert.pem
|
276
|
-
- spec/fixtures/ssl/client_key.pem
|
277
|
-
- spec/fixtures/wsdl/authentication.xml
|
278
|
-
- spec/fixtures/wsdl/betfair.xml
|
279
|
-
- spec/fixtures/wsdl/brand.xml
|
280
|
-
- spec/fixtures/wsdl/edialog.xml
|
281
|
-
- spec/fixtures/wsdl/elements_in_types.xml
|
282
|
-
- spec/fixtures/wsdl/interhome.xml
|
283
|
-
- spec/fixtures/wsdl/lower_camel.xml
|
284
|
-
- spec/fixtures/wsdl/multiple_namespaces.xml
|
285
|
-
- spec/fixtures/wsdl/multiple_types.xml
|
286
|
-
- spec/fixtures/wsdl/no_message_tag.xml
|
287
|
-
- spec/fixtures/wsdl/taxcloud.xml
|
288
|
-
- spec/fixtures/wsdl/team_software.xml
|
289
|
-
- spec/fixtures/wsdl/vies.xml
|
290
|
-
- spec/fixtures/wsdl/wasmuth.xml
|
291
|
-
- spec/integration/support/application.rb
|
292
|
-
- spec/integration/support/server.rb
|
293
|
-
- spec/integration/zipcode_example_spec.rb
|
294
|
-
- spec/savon/builder_spec.rb
|
295
|
-
- spec/savon/client_spec.rb
|
296
|
-
- spec/savon/core_ext/string_spec.rb
|
297
|
-
- spec/savon/features/message_tag_spec.rb
|
298
|
-
- spec/savon/http_error_spec.rb
|
299
|
-
- spec/savon/log_message_spec.rb
|
300
|
-
- spec/savon/message_spec.rb
|
301
|
-
- spec/savon/mock_spec.rb
|
302
|
-
- spec/savon/model_spec.rb
|
303
|
-
- spec/savon/multipart_request_spec.rb
|
304
|
-
- spec/savon/observers_spec.rb
|
305
|
-
- spec/savon/operation_spec.rb
|
306
|
-
- spec/savon/options_spec.rb
|
307
|
-
- spec/savon/qualified_message_spec.rb
|
308
|
-
- spec/savon/request_logger_spec.rb
|
309
|
-
- spec/savon/request_spec.rb
|
310
|
-
- spec/savon/response_spec.rb
|
311
|
-
- spec/savon/soap_fault_spec.rb
|
312
|
-
- spec/savon/softlayer_spec.rb
|
313
|
-
- spec/spec_helper.rb
|
314
|
-
- spec/support/adapters.rb
|
315
|
-
- spec/support/endpoint.rb
|
316
|
-
- spec/support/fixture.rb
|
317
|
-
- spec/support/integration.rb
|
318
|
-
- spec/support/stdout.rb
|
319
260
|
homepage: http://savonrb.com
|
320
261
|
licenses:
|
321
262
|
- MIT
|
322
263
|
metadata: {}
|
323
|
-
post_install_message:
|
264
|
+
post_install_message:
|
324
265
|
rdoc_options: []
|
325
266
|
require_paths:
|
326
267
|
- lib
|
@@ -335,8 +276,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
335
276
|
- !ruby/object:Gem::Version
|
336
277
|
version: '0'
|
337
278
|
requirements: []
|
338
|
-
rubygems_version: 3.3.
|
339
|
-
signing_key:
|
279
|
+
rubygems_version: 3.3.26
|
280
|
+
signing_key:
|
340
281
|
specification_version: 4
|
341
282
|
summary: Heavy metal SOAP client
|
342
283
|
test_files: []
|
data/.gitignore
DELETED
data/.yardopts
DELETED
data/CONTRIBUTING.md
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# Contribution Guide
|
2
|
-
|
3
|
-
This page describes how to contribute changes to Savon.
|
4
|
-
|
5
|
-
Please do not create a pull request without reading this guide first.
|
6
|
-
Make sure to read the documentation for your version and ask questions on [Stack Overflow](https://stackoverflow.com/questions/ask?tags=savon).
|
7
|
-
|
8
|
-
**Bug fixes**
|
9
|
-
|
10
|
-
If you really think you found a bug, please make sure to add as much information as possible
|
11
|
-
to the ticket. You're a developer, we are developers and you know we need tests to reproduce
|
12
|
-
problems and make sure they don't come back.
|
13
|
-
|
14
|
-
So if you can reproduce your problem in a spec, that would be awesome! If you can't, please
|
15
|
-
let us know how we can make this easier for you. Also, provide code and the WSDL of the
|
16
|
-
service you're working with, so others can try to come up with a spec for your problem.
|
17
|
-
|
18
|
-
After we have a failing spec, it needs to be fixed. Make sure your new spec is the
|
19
|
-
only failing one under the `spec` directory. CI only runs the "unit tests" at `spec/savon`,
|
20
|
-
but Savon actually has some additional specs at `spec/integration`, which you need to run locally
|
21
|
-
to make sure the integration with real-world services still works.
|
22
|
-
|
23
|
-
These specs are not run by CI, because the services are not guaranteed to work all the time.
|
24
|
-
|
25
|
-
Please follow this workflow for Pull Requests:
|
26
|
-
|
27
|
-
* [Fork the project](https://help.github.com/articles/fork-a-repo)
|
28
|
-
* Create a feature branch and make your bug fix
|
29
|
-
* Add tests for it!
|
30
|
-
* [Send a Pull Request](https://help.github.com/articles/using-pull-requests)
|
31
|
-
* [Check that your Pull Request passes the build](https://github.com/savonrb/savon/actions?query=workflow%3ARuby)
|
32
|
-
|
33
|
-
**Improvements and feature requests**
|
34
|
-
|
35
|
-
If you have an idea for an improvement or a new feature, please feel free to
|
36
|
-
[create a new Issue](https://github.com/savonrb/savon/issues/new/choose) and describe your idea
|
37
|
-
so that other people can give their insights and opinions. This is also important to avoid
|
38
|
-
duplicate work.
|
39
|
-
|
40
|
-
Pull Requests and Issues on GitHub are meant to be used to discuss problems and ideas,
|
41
|
-
so please make sure to participate and follow up on questions. In case no one comments
|
42
|
-
on your ticket, please keep updating the ticket with additional information.
|
data/Gemfile
DELETED
data/RELEASING.md
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
_You'll need write access to the repository and the [rubygems](https://rubygems.org/gems/savon) project to create a release._
|
2
|
-
|
3
|
-
1. On master, edit [CHANGELOG.md](https://github.com/savonrb/savon/blob/master/CHANGELOG.md) to finalize the new version number and list of all changes.
|
4
|
-
2. Bump [version.rb](https://github.com/savonrb/savon/blob/master/lib/savon/version.rb) to the version you picked in previous step.
|
5
|
-
3. **Final check**: make sure all tests are green, and that `gem build savon.gemspec` on master succeeds. If not, merge any fixes back to master and go to step 1.
|
6
|
-
4. [Draft a new release](https://github.com/savonrb/savon/releases/new) on Github.
|
7
|
-
- Create a tag matching the version in previous step - e.g. `v2.12.1` - prepend the version number with a "v".
|
8
|
-
- Use `v[version]` for the release title, and copy the changelog into the release notes.
|
9
|
-
- Click "Publish release" to commit the tag on Github.
|
10
|
-
5. `git checkout` the newly commited tag, then `gem build savon.gemspec` to build the gem package locally. Use `gem push savon-[version].gem` to publish to rubygems.
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Savon
|
4
|
-
module CoreExt
|
5
|
-
module String
|
6
|
-
|
7
|
-
def self.included(base)
|
8
|
-
unless "savon".respond_to?(:snakecase)
|
9
|
-
base.send(:include, Extension)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
module Extension
|
14
|
-
def snakecase
|
15
|
-
str = dup
|
16
|
-
str.gsub! /::/, '/'
|
17
|
-
str.gsub! /([A-Z]+)([A-Z][a-z])/, '\1_\2'
|
18
|
-
str.gsub! /([a-z\d])([A-Z])/, '\1_\2'
|
19
|
-
str.tr! ".", "_"
|
20
|
-
str.tr! "-", "_"
|
21
|
-
str.downcase!
|
22
|
-
str
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
String.send :include, Savon::CoreExt::String
|
data/savon.gemspec
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
# -*- encoding : utf-8 -*-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
3
|
-
$:.unshift lib unless $:.include? lib
|
4
|
-
|
5
|
-
require "savon/version"
|
6
|
-
|
7
|
-
Gem::Specification.new do |s|
|
8
|
-
s.name = "savon"
|
9
|
-
s.version = Savon::VERSION
|
10
|
-
s.authors = "Daniel Harrington"
|
11
|
-
s.email = "me@rubiii.com"
|
12
|
-
s.homepage = "http://savonrb.com"
|
13
|
-
s.summary = "Heavy metal SOAP client"
|
14
|
-
s.description = s.summary
|
15
|
-
s.required_ruby_version = '>= 2.7.0'
|
16
|
-
|
17
|
-
s.license = 'MIT'
|
18
|
-
|
19
|
-
s.add_dependency "nori", "~> 2.4"
|
20
|
-
s.add_dependency "httpi", ">= 2.4.5"
|
21
|
-
s.add_dependency "wasabi", "~> 3.4"
|
22
|
-
s.add_dependency "akami", "~> 1.2"
|
23
|
-
s.add_dependency "gyoku", "~> 1.2"
|
24
|
-
s.add_dependency "builder", ">= 2.1.2"
|
25
|
-
s.add_dependency "nokogiri", ">= 1.8.1"
|
26
|
-
s.add_dependency "mail", "~> 2.5"
|
27
|
-
|
28
|
-
s.add_development_dependency "rack"
|
29
|
-
s.add_development_dependency "puma", ">= 4.3.8"
|
30
|
-
|
31
|
-
s.add_development_dependency "byebug"
|
32
|
-
s.add_development_dependency "rake", ">= 12.3.3"
|
33
|
-
s.add_development_dependency "rspec", "~> 3.9"
|
34
|
-
s.add_development_dependency "mocha", "~> 0.14"
|
35
|
-
s.add_development_dependency "json", ">= 2.3.0"
|
36
|
-
|
37
|
-
ignores = File.readlines(".gitignore").grep(/\S+/).map(&:chomp)
|
38
|
-
dotfiles = %w[.gitignore .yardopts]
|
39
|
-
|
40
|
-
all_files_without_ignores = Dir["**/*"].reject { |f|
|
41
|
-
File.directory?(f) || ignores.any? { |i| File.fnmatch(i, f) }
|
42
|
-
}
|
43
|
-
|
44
|
-
s.files = (all_files_without_ignores + dotfiles).sort
|
45
|
-
|
46
|
-
s.require_path = "lib"
|
47
|
-
end
|
Binary file
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
|
2
|
-
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
3
|
-
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
|
4
|
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
5
|
-
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
6
|
-
<SOAP-ENV:Body>
|
7
|
-
<SOAP-ENV:Fault>
|
8
|
-
<faultcode>ERR_NO_SESSION</faultcode>
|
9
|
-
<faultfactor>doGetItemsInfo - Wrong session</faultfactor>
|
10
|
-
<faultstring>Wrong session message</faultstring>
|
11
|
-
<detail><soapVal><ERRNO xsi:type="xsd:string">80:1289245853:55</ERRNO></soapVal></detail>
|
12
|
-
</SOAP-ENV:Fault>
|
13
|
-
</SOAP-ENV:Body>
|
14
|
-
</SOAP-ENV:Envelope>
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
2
|
-
<soap:Body>
|
3
|
-
<ns2:authenticateResponse xmlns:ns2="http://v1_0.ws.user.example.com">
|
4
|
-
<return>
|
5
|
-
<authenticationValue>
|
6
|
-
<token>a68d1d6379b62ff339a0e0c69ed4d9cf</token>
|
7
|
-
<tokenHash>AAAJxA;cIedoT;mY10ExZwG6JuKgp2OYKxow==</tokenHash>
|
8
|
-
<client>radclient</client>
|
9
|
-
</authenticationValue>
|
10
|
-
<success>true</success>
|
11
|
-
</return>
|
12
|
-
</ns2:authenticateResponse>
|
13
|
-
</soap:Body>
|
14
|
-
</soap:Envelope>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
|
2
|
-
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
|
3
|
-
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
|
4
|
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
5
|
-
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
6
|
-
<SOAP-ENV:Body>
|
7
|
-
<SOAP-ENV:Fault>
|
8
|
-
<faultcode/>
|
9
|
-
<faultstring/>
|
10
|
-
<detail><soapVal><ERRNO xsi:type="xsd:string">80:1289245853:55</ERRNO></soapVal></detail>
|
11
|
-
</SOAP-ENV:Fault>
|
12
|
-
</SOAP-ENV:Body>
|
13
|
-
</SOAP-ENV:Envelope>
|
@@ -1,39 +0,0 @@
|
|
1
|
-
<E:Envelope
|
2
|
-
xmlns:E="http://schemas.xmlsoap.org/soap/envelope/"
|
3
|
-
xmlns:A="http://schemas.xmlsoap.org/soap/encoding/"
|
4
|
-
xmlns:s="http://www.w3.org/2001/XMLSchema-instance"
|
5
|
-
xmlns:y="http://www.w3.org/2001/XMLSchema"
|
6
|
-
xmlns:iControl="urn:iControl"
|
7
|
-
E:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
8
|
-
<E:Body>
|
9
|
-
<m:get_agent_listen_addressResponse
|
10
|
-
xmlns:m="urn:iControl:Management/SNMPConfiguration">
|
11
|
-
<return
|
12
|
-
s:type="A:Array"
|
13
|
-
A:arrayType="iControl:Management.SNMPConfiguration.AgentListenAddressPort[2]">
|
14
|
-
<item>
|
15
|
-
<transport
|
16
|
-
s:type="iControl:Management.SNMPConfiguration.TransportType">TRANSPORT_TCP6</transport>
|
17
|
-
<ipport
|
18
|
-
s:type="iControl:Common.IPPortDefinition">
|
19
|
-
<address
|
20
|
-
s:type="y:string"></address>
|
21
|
-
<port
|
22
|
-
s:type="y:long">161</port>
|
23
|
-
</ipport>
|
24
|
-
</item>
|
25
|
-
<item>
|
26
|
-
<transport
|
27
|
-
s:type="iControl:Management.SNMPConfiguration.TransportType">TRANSPORT_UDP6</transport>
|
28
|
-
<ipport
|
29
|
-
s:type="iControl:Common.IPPortDefinition">
|
30
|
-
<address
|
31
|
-
s:type="y:string"></address>
|
32
|
-
<port
|
33
|
-
s:type="y:long">161</port>
|
34
|
-
</ipport>
|
35
|
-
</item>
|
36
|
-
</return>
|
37
|
-
</m:get_agent_listen_addressResponse>
|
38
|
-
</E:Body>
|
39
|
-
</E:Envelope>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
-
<soap:Header xmlns="http://webservices.somewhere.com/definitions">
|
4
|
-
<SessionNumber>ABCD1234</SessionNumber>
|
5
|
-
</soap:Header>
|
6
|
-
<soap:Body>
|
7
|
-
<AuthenticateReply xmlns="http://xml.somewhere.com/ABCD">
|
8
|
-
<processStatus>
|
9
|
-
<statusCode>P</statusCode>
|
10
|
-
</processStatus>
|
11
|
-
</AuthenticateReply>
|
12
|
-
</soap:Body>
|
13
|
-
</soap:Envelope>
|
@@ -1,18 +0,0 @@
|
|
1
|
-
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
2
|
-
<soapenv:Body>
|
3
|
-
<MultiNamespacedEntryResponse xmlns="http://www.example.com/BusinessRulesEngine/xsd">
|
4
|
-
<history>
|
5
|
-
<ns10:case xmlns:ns10="http://www.example.com/Common/xsd">
|
6
|
-
<ns10:logTime>2010-09-21T18:22:01.558+10:00</ns10:logTime>
|
7
|
-
<ns10:logType>Notes Log</ns10:logType>
|
8
|
-
<ns10:logText>test</ns10:logText>
|
9
|
-
</ns10:case>
|
10
|
-
<ns11:case xmlns:ns11="http://www.example.com/Common/xsd">
|
11
|
-
<ns11:logTime>2010-09-21T18:22:07.038+10:00</ns11:logTime>
|
12
|
-
<ns11:logType>Notes Log</ns11:logType>
|
13
|
-
<ns11:logText>another test</ns11:logText>
|
14
|
-
</ns11:case>
|
15
|
-
</history>
|
16
|
-
</MultiNamespacedEntryResponse>
|
17
|
-
</soapenv:Body>
|
18
|
-
</soapenv:Envelope>
|
@@ -1,39 +0,0 @@
|
|
1
|
-
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
2
|
-
<soapenv:Body>
|
3
|
-
<ns1:listResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://ws.example.com">
|
4
|
-
<listReturn soapenc:arrayType="ns2:HistoryEntry[3]" xsi:type="soapenc:Array" xmlns:ns2="http://ws.example.com/ws/history" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
|
5
|
-
<listReturn href="#id0"/>
|
6
|
-
<listReturn href="#id1"/>
|
7
|
-
<listReturn href="#id2"/>
|
8
|
-
</listReturn>
|
9
|
-
</ns1:listResponse>
|
10
|
-
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:HistoryEntry" xmlns:ns5="http://ws.example.com/ws/history" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
|
11
|
-
<date xsi:type="xsd:dateTime">2009-09-22T13:47:23.000Z</date>
|
12
|
-
<location xsi:type="soapenc:string">Archive</location>
|
13
|
-
<mailId href="#id9"/>
|
14
|
-
<referenceId href="#id8"/>
|
15
|
-
<state xsi:type="soapenc:string">Original</state>
|
16
|
-
<subject xsi:type="soapenc:string">Mail from 09-22-2009: Misc</subject>
|
17
|
-
</multiRef>
|
18
|
-
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns6:HistoryEntry" xmlns:ns6="http://ws.example.com/ws/history" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
|
19
|
-
<date xsi:type="xsd:dateTime">2009-04-30T06:38:34.000Z</date>
|
20
|
-
<location xsi:type="soapenc:string">Archive</location>
|
21
|
-
<mailId href="#id10"/>
|
22
|
-
<referenceId href="#id8"/>
|
23
|
-
<state xsi:type="soapenc:string">Original</state>
|
24
|
-
<subject xsi:type="soapenc:string">Mail from 04-29-2009: Technical support</subject>
|
25
|
-
</multiRef>
|
26
|
-
<multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns7:HistoryEntry" xmlns:ns7="http://ws.example.com/ws/history" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
|
27
|
-
<date xsi:type="xsd:dateTime">2009-12-18T15:43:21.000Z</date>
|
28
|
-
<location xsi:type="soapenc:string">Archive</location>
|
29
|
-
<mailId href="#id11"/>
|
30
|
-
<referenceId href="#id8"/>
|
31
|
-
<state xsi:type="soapenc:string">Original</state>
|
32
|
-
<subject xsi:type="soapenc:string">Mail from 12-17-2009: Misc</subject>
|
33
|
-
</multiRef>
|
34
|
-
<multiRef id="id11" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">972219</multiRef>
|
35
|
-
<multiRef id="id10" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">708021</multiRef>
|
36
|
-
<multiRef id="id8" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">0</multiRef>
|
37
|
-
<multiRef id="id9" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">855763</multiRef>
|
38
|
-
</soapenv:Body>
|
39
|
-
</soapenv:Envelope>
|
@@ -1 +0,0 @@
|
|
1
|
-
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">Text</soap:Envelope>
|