savon 2.12.0 → 2.15.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.
Files changed (95) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +107 -76
  3. data/README.md +15 -19
  4. data/lib/savon/block_interface.rb +1 -0
  5. data/lib/savon/builder.rb +100 -30
  6. data/lib/savon/client.rb +1 -0
  7. data/lib/savon/header.rb +2 -6
  8. data/lib/savon/http_error.rb +4 -4
  9. data/lib/savon/log_message.rb +1 -0
  10. data/lib/savon/message.rb +1 -0
  11. data/lib/savon/mock/expectation.rb +1 -0
  12. data/lib/savon/mock/spec_helper.rb +1 -0
  13. data/lib/savon/mock.rb +1 -0
  14. data/lib/savon/model.rb +4 -3
  15. data/lib/savon/operation.rb +20 -18
  16. data/lib/savon/options.rb +57 -1
  17. data/lib/savon/qualified_message.rb +4 -3
  18. data/lib/savon/request.rb +5 -0
  19. data/lib/savon/request_logger.rb +8 -2
  20. data/lib/savon/response.rb +51 -4
  21. data/lib/savon/soap_fault.rb +2 -1
  22. data/lib/savon/string_utils.rb +17 -0
  23. data/lib/savon/version.rb +2 -1
  24. data/lib/savon.rb +2 -0
  25. metadata +78 -101
  26. data/.gitignore +0 -14
  27. data/.travis.yml +0 -18
  28. data/.yardopts +0 -6
  29. data/CONTRIBUTING.md +0 -46
  30. data/Gemfile +0 -13
  31. data/donate.png +0 -0
  32. data/lib/savon/core_ext/string.rb +0 -29
  33. data/savon.gemspec +0 -46
  34. data/spec/fixtures/gzip/message.gz +0 -0
  35. data/spec/fixtures/response/another_soap_fault.xml +0 -14
  36. data/spec/fixtures/response/authentication.xml +0 -14
  37. data/spec/fixtures/response/f5.xml +0 -39
  38. data/spec/fixtures/response/header.xml +0 -13
  39. data/spec/fixtures/response/list.xml +0 -18
  40. data/spec/fixtures/response/multi_ref.xml +0 -39
  41. data/spec/fixtures/response/no_body.xml +0 -1
  42. data/spec/fixtures/response/soap_fault.xml +0 -8
  43. data/spec/fixtures/response/soap_fault12.xml +0 -18
  44. data/spec/fixtures/response/soap_fault_funky.xml +0 -8
  45. data/spec/fixtures/response/taxcloud.xml +0 -1
  46. data/spec/fixtures/ssl/client_cert.pem +0 -16
  47. data/spec/fixtures/ssl/client_encrypted_key.pem +0 -30
  48. data/spec/fixtures/ssl/client_encrypted_key_cert.pem +0 -24
  49. data/spec/fixtures/ssl/client_key.pem +0 -15
  50. data/spec/fixtures/wsdl/authentication.xml +0 -63
  51. data/spec/fixtures/wsdl/betfair.xml +0 -2981
  52. data/spec/fixtures/wsdl/brand.xml +0 -624
  53. data/spec/fixtures/wsdl/edialog.xml +0 -15416
  54. data/spec/fixtures/wsdl/interhome.xml +0 -2137
  55. data/spec/fixtures/wsdl/lower_camel.xml +0 -52
  56. data/spec/fixtures/wsdl/multiple_namespaces.xml +0 -92
  57. data/spec/fixtures/wsdl/multiple_types.xml +0 -60
  58. data/spec/fixtures/wsdl/no_message_tag.xml +0 -1267
  59. data/spec/fixtures/wsdl/taxcloud.xml +0 -934
  60. data/spec/fixtures/wsdl/team_software.xml +0 -1
  61. data/spec/fixtures/wsdl/vies.xml +0 -176
  62. data/spec/fixtures/wsdl/wasmuth.xml +0 -153
  63. data/spec/integration/centra_spec.rb +0 -67
  64. data/spec/integration/email_example_spec.rb +0 -32
  65. data/spec/integration/random_quote_spec.rb +0 -23
  66. data/spec/integration/ratp_example_spec.rb +0 -28
  67. data/spec/integration/stockquote_example_spec.rb +0 -34
  68. data/spec/integration/support/application.rb +0 -82
  69. data/spec/integration/support/server.rb +0 -84
  70. data/spec/integration/temperature_example_spec.rb +0 -46
  71. data/spec/integration/zipcode_example_spec.rb +0 -42
  72. data/spec/savon/builder_spec.rb +0 -137
  73. data/spec/savon/client_spec.rb +0 -271
  74. data/spec/savon/core_ext/string_spec.rb +0 -37
  75. data/spec/savon/features/message_tag_spec.rb +0 -61
  76. data/spec/savon/http_error_spec.rb +0 -49
  77. data/spec/savon/log_message_spec.rb +0 -50
  78. data/spec/savon/message_spec.rb +0 -70
  79. data/spec/savon/mock_spec.rb +0 -174
  80. data/spec/savon/model_spec.rb +0 -182
  81. data/spec/savon/observers_spec.rb +0 -92
  82. data/spec/savon/operation_spec.rb +0 -230
  83. data/spec/savon/options_spec.rb +0 -1104
  84. data/spec/savon/qualified_message_spec.rb +0 -101
  85. data/spec/savon/request_logger_spec.rb +0 -37
  86. data/spec/savon/request_spec.rb +0 -540
  87. data/spec/savon/response_spec.rb +0 -275
  88. data/spec/savon/soap_fault_spec.rb +0 -136
  89. data/spec/savon/softlayer_spec.rb +0 -27
  90. data/spec/spec_helper.rb +0 -30
  91. data/spec/support/adapters.rb +0 -48
  92. data/spec/support/endpoint.rb +0 -25
  93. data/spec/support/fixture.rb +0 -39
  94. data/spec/support/integration.rb +0 -9
  95. data/spec/support/stdout.rb +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 5f5d529eeeacffdb613697c1e822ae8f66f48405
4
- data.tar.gz: 107dbcdf6bf87cffefafeb4216eee8e3b1a8c06f
2
+ SHA256:
3
+ metadata.gz: f9290bcf944e220b16f3273b19e85a8e0a7aaeb2d87d41dc21abbc339c515d7f
4
+ data.tar.gz: 291db78a5977bb23de3672367b9bba2a750f609f855aabac56fffdabafb07bf2
5
5
  SHA512:
6
- metadata.gz: 49c798231744f066396510436f9eed0a272bb7f189c43395ae54a3bf3a09d012acdd3231fb03cb6d94703d83134fe50f53cfa731f62ec156f05edb2580c45988
7
- data.tar.gz: 65dde0f62c985730aaf4d77c2414dccd04187979d3173c4419cbb6fd1c2feaa0cc79fac7a67b54b45ef66fa03e862f91b1204c76b3429d806c8ef1f06cd5ff10
6
+ metadata.gz: b0f201223113366550455242e6ecafb265596150d695f3c406070b4d233b7be36eb5a70e2cdd49f9bf16572369b9a5f2fa4669470308684d83e0fd88e1fb2505
7
+ data.tar.gz: 9aabf5fc3f73585a8eb5bce033b028bab32530ef126b02435fb83ee441f2d09f4a20b05972d6a915474408a88335a9ba557b58c3c27ae58c397f881bc3541378
data/CHANGELOG.md CHANGED
@@ -1,4 +1,37 @@
1
- # 2.12.0 (2018-01-16)
1
+ # Savon changelog
2
+
3
+ ## Unreleased
4
+ * Add your PR changelog line here
5
+
6
+ ## 2.15.0 (2024-02-10)
7
+
8
+ * Drop support for ruby 2.7 and below. Added Ruby 3.2 and 3.3 to test matrix.
9
+
10
+ ## 2.14.0 (2022-12-16)
11
+
12
+ * BC BREAKING Fix: [#985](https://github.com/savonrb/savon/pull/985) Renamed `Savon::Response#hash` to `Savon::Response#full_hash`
13
+ * BC BREAKING Fix: [#988](https://github.com/savonrb/savon/pull/988) Savon no longer monkeypatches `String#snakecase`
14
+ * Fix: [#989](https://github.com/savonrb/savon/pull/989) Do not include xmlns from WSDL, which breaks some servers
15
+
16
+ ## 2.13.1 (2022-09-04)
17
+
18
+ * Fix: [#977](https://github.com/savonrb/savon/pull/977) Prevent "xmlns:xmlns" namespace but allow "xmlns" namespace.
19
+
20
+ ## 2.13.0 (2022-08-03)
21
+
22
+ * Drop support for ruby 2.6 and below. Added Ruby 3.0 and 3.1 to test matrix.
23
+ * Fix: [#868](https://github.com/savonrb/savon/pull/868) Remove `xmlns:wsa`'s already added elsewhere; select Content-Type HTTP header based on SOAP version.
24
+ * Fix: [#943](https://github.com/savonrb/savon/pull/943) Read all namespaces from wsdl definition if document exists
25
+ * Feature: [#920](https://github.com/savonrb/savon/pull/920) Add a `write_timeout` setter for HTTP requests
26
+ * Feature: [#930](https://github.com/savonrb/savon/pull/930) Add options for SSL min_version/max_version support
27
+ * Feature: [#931](https://github.com/savonrb/savon/pull/931) Add `log_headers` option
28
+
29
+ ## 2.12.1 (2020-07-05)
30
+
31
+ * Fix: [#917](https://github.com/savonrb/savon/pull/917) elementFormDefault="qualified" regression
32
+ * Fix: [#875](https://github.com/savonrb/savon/pull/875) Fix detecting Soap 1.1 Fault when faultcode and faultstring are empty
33
+
34
+ ## 2.12.0 (2018-01-16)
2
35
 
3
36
  * Drop support for ruby 2.1 and below.
4
37
  * Fix: [#822](https://github.com/savonrb/savon/pull/822) Raise correct error when SOAP envelope only contains a string
@@ -7,10 +40,8 @@
7
40
  * Feature: [#753](https://github.com/savonrb/savon/pull/753) Add headers configuration to WSDLRequest#build
8
41
  * Feature: [#812](https://github.com/savonrb/savon/pull/812) Allow `proxy` option to be `nil`.
9
42
  * Feature: [#838](https://github.com/savonrb/savon/pull/838) Added ssl_ca_path and ssl_cert_store to globals
10
- * Feature: [#794](https://github.com/savonrb/savon/pull/794) Add global option ssl_ciphers
11
-
12
43
 
13
- # 2.11.2 (2017-08-03)
44
+ ## 2.11.2 (2017-08-03)
14
45
  * Fix: [#676](https://github.com/savonrb/savon/pull/676) Fixes handling of `content!` and `attributes!`
15
46
  * Fix: [#800](https://github.com/savonrb/savon/pull/800) Fix exception calling `SOAPFault#to_s` when http.body is empty
16
47
  * Fix: [#757](https://github.com/savonrb/savon/pull/757) Logging: Use filter without automatic pretty printing
@@ -19,43 +50,43 @@
19
50
  * Feature: [#742](https://github.com/savonrb/savon/pull/742) Add support for local request headers
20
51
  * Feature: [#704](https://github.com/savonrb/savon/pull/704) Add possibility to pass attribute delete_namespace_attributes to Nori
21
52
 
22
- # 2.11.1 (2015-05-27)
53
+ ## 2.11.1 (2015-05-27)
23
54
 
24
55
  * Replace dependency on [uuid](https://rubygems.org/gems/uuid), using SecureRandom.uuid instead.
25
56
 
26
- # 2.11.0 (2015-03-31)
57
+ ## 2.11.0 (2015-03-31)
27
58
 
28
- * Formally drop support for 1.8.7.
59
+ * Formally drop support for 1.8.7.
29
60
 
30
- # 2.10.1 (2015-03-15)
61
+ ## 2.10.1 (2015-03-15)
31
62
 
32
63
  * Feature: [#673](https://github.com/savonrb/savon/pull/673) Adds an :unwrap option that is passed to Gyoku.
33
64
 
34
- # 2.10.0 (2015-03-02)
65
+ ## 2.10.0 (2015-03-02)
35
66
 
36
67
  * Fix: This reverts a purported "fix" to operation names.
37
68
 
38
- # 2.9.0 (2015-01-29)
69
+ ## 2.9.0 (2015-01-29)
39
70
 
40
71
  * Feature: [#655] Wasabi exceptions should be rethrown as Savon errors. This should make it easier to catch errors thrown by Savon::Client.
41
72
  * Feature: [#630] ServiceFaults are correctly identified as Soap Faults.
42
73
 
43
- # 2.8.0 (2014-11-12)
74
+ ## 2.8.0 (2014-11-12)
44
75
 
45
76
  * Feature : [#620](https://github.com/savonrb/savon/pull/620) add #build_request method that builds the actual XML request body, but does not submit it. Useful for debugging, possibly.
46
77
  * Fix : Loosened dependencies on Gyoku, Nori, Akami, and other Savon-dependency gems
47
78
  * Feature: [#636](https://github.com/savonrb/savon/pull/636) Set HTTPI.logger when Savon's logger is configured.
48
79
  * Feature: [#639](https://github.com/savonrb/savon/issues/639) Allow setting any SSL version that OpenSSL provides. See [the relevant HTTPI issue](https://github.com/savonrb/httpi/pull/136) for more information.
49
80
 
50
- # 2.7.2 (2014-09-23)
81
+ ## 2.7.2 (2014-09-23)
51
82
 
52
83
  Fix : Preserve false values (https://github.com/savonrb/savon/issues/321)
53
84
 
54
- # 2.7.1 (2014-09-23)
85
+ ## 2.7.1 (2014-09-23)
55
86
 
56
87
  * Fix : Fix a crash in builder when request headers do not contain WSA headers
57
88
 
58
- # 2.7.0 (2014-09-23)
89
+ ## 2.7.0 (2014-09-23)
59
90
 
60
91
  * Feature: Signing requests. Added wsse_signature.
61
92
  ```ruby
@@ -64,7 +95,7 @@ Fix : Preserve false values (https://github.com/savonrb/savon/issues/321)
64
95
  end
65
96
  ```
66
97
 
67
- # 2.5.0 (2014-05-03)
98
+ ## 2.5.0 (2014-05-03)
68
99
 
69
100
  * Feature: [#573](https://github.com/savonrb/savon/pull/573) Add an `all_operations` method to `Savon::Model` that automatically adds all available operations to the model.
70
101
 
@@ -84,16 +115,16 @@ Fix : Preserve false values (https://github.com/savonrb/savon/issues/321)
84
115
  client = Savon.client(wsdl: "http://example.com/service.wsdl", log: true)
85
116
  ```
86
117
 
87
- ### 2.3.2 (2013-12-09)
118
+ ## 2.3.2 (2013-12-09)
88
119
 
89
120
  * Fix: [#520](https://github.com/savonrb/savon/issues/520) Fixes a regression in message tags in requests and responses.
90
121
 
91
- ### 2.3.1 (2013-12-05)
122
+ ## 2.3.1 (2013-12-05)
92
123
 
93
124
  * Removed dependency on Nokogiri <= 1.4 -- This improves support for ruby 1.9.3 and 2.0.0 and officially begins the end of support for ruby 1.8.7
94
125
  See [issue #487](https://github.com/savonrb/savon/issues/487)
95
126
 
96
- ### 2.3.0 (2013-07-27)
127
+ ## 2.3.0 (2013-07-27)
97
128
 
98
129
  Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
99
130
 
@@ -141,7 +172,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
141
172
  * Fix: [#468](https://github.com/savonrb/savon/issues/468) Changed the dependency on Nokogiri
142
173
  to < 1.6, because Nokogiri 1.6 dropped support for Ruby 1.8.
143
174
 
144
- ### 2.2.0 (2013-04-21)
175
+ ## 2.2.0 (2013-04-21)
145
176
 
146
177
  * Feature: [#416](https://github.com/savonrb/savon/pull/416) The global `namespace_identifier`
147
178
  option can now be set to `nil` to not add a namespace identifier to the message tag.
@@ -179,7 +210,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
179
210
  * Fix: [#423](https://github.com/savonrb/savon/issues/423) fixes a problem where Wasabi was
180
211
  not able to find extension base elements defined in imports it didn't follow.
181
212
 
182
- ### 2.1.0 (2013-02-03)
213
+ ## 2.1.0 (2013-02-03)
183
214
 
184
215
  * Feature: [#372](https://github.com/savonrb/savon/pull/372) added global `ssl_cert_key_password` option.
185
216
 
@@ -211,12 +242,12 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
211
242
  * Fix: [#376](https://github.com/savonrb/savon/issues/376) added a global `namespaces` option
212
243
  for adding namespaces to the SOAP envelope.
213
244
 
214
- ### 2.0.3 (2013-01-19)
245
+ ## 2.0.3 (2013-01-19)
215
246
 
216
247
  * Upgraded Nori dependency to prevent people from using a version that is vulnerable to
217
248
  the recent [remote code execution bug](https://gist.github.com/4532291).
218
249
 
219
- ### 2.0.2 (2012-12-20)
250
+ ## 2.0.2 (2012-12-20)
220
251
 
221
252
  * Fix: [#297](https://github.com/savonrb/savon/issues/297#issuecomment-11536517) added the global
222
253
  `:ssl_verify_mode` and `:ssl_version` options which were missing.
@@ -224,13 +255,13 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
224
255
  * Fix: [#344](https://github.com/savonrb/savon/issues/344) added missing global ssl cert options
225
256
  `:ssl_cert_file`, `:ssl_cert_key_file` and `:ssl_ca_cert_file`.
226
257
 
227
- ### 2.0.1 (2012-12-19)
258
+ ## 2.0.1 (2012-12-19)
228
259
 
229
260
  * Fix [#342](https://github.com/savonrb/savon/issues/342) fixes an issue where namespaces could
230
261
  not be resolved if the actual operation name to call did not match the operation name passed
231
262
  to the client's `#call` method. For example: `:get_stations` for a `getStations` operation.
232
263
 
233
- ### 2.0.0 (2012-12-18)
264
+ ## 2.0.0 (2012-12-18)
234
265
 
235
266
  * Read about all the changes in the [updated documentation](http://savonrb.com/version2.html).
236
267
 
@@ -245,7 +276,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
245
276
 
246
277
  * Fix: [321](https://github.com/savonrb/savon/issues/321) preserve `[false]` values in Hashes.
247
278
 
248
- ### 1.2.0 (2012-09-15)
279
+ ## 1.2.0 (2012-09-15)
249
280
 
250
281
  * Fix: [#312](https://github.com/savonrb/savon/pull/312) recursively determines the proper namespaces
251
282
  for SOAP body Hashes with nested Arrays of Hashes.
@@ -255,7 +286,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
255
286
 
256
287
  * Refactoring: Use the `Wasabi::Document` with resolver instead of the custom `Savon::Wasabi::Document`.
257
288
 
258
- ### 1.1.0 (2012-06-28)
289
+ ## 1.1.0 (2012-06-28)
259
290
 
260
291
  * Improvement: Changed Savon's core dependencies to be more strict and only allow bug fix changes.
261
292
  Major or minor releases of these dependencies now need a release of Savon so they can be used.
@@ -282,7 +313,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
282
313
  * Refactoring: Moved code that sets the cookies from the last response for the
283
314
  next request to `HTTPI::Request#set_cookies`.
284
315
 
285
- ### 1.0.0 (2012-06-09)
316
+ ## 1.0.0 (2012-06-09)
286
317
 
287
318
  * Fix: `Savon.client` didn't pass the optional block.
288
319
 
@@ -293,15 +324,15 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
293
324
 
294
325
  As this change affects `savon_spec`, you need to update `savon_spec` to v1.3.0.
295
326
 
296
- ### 0.9.14 (2012-06-07)
327
+ ## 0.9.14 (2012-06-07)
297
328
 
298
329
  * Fix: [#292](https://github.com/savonrb/savon/issues/292) again
299
330
 
300
- ### 0.9.13 (2012-06-07)
331
+ ## 0.9.13 (2012-06-07)
301
332
 
302
333
  * Fix: [#292](https://github.com/savonrb/savon/issues/292)
303
334
 
304
- ### 0.9.12 (2012-06-07)
335
+ ## 0.9.12 (2012-06-07)
305
336
 
306
337
  * Re-added the log method setters to the new config object for backwards compatibility.
307
338
  You should be able to configure the logger as you used to do.
@@ -314,7 +345,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
314
345
  end
315
346
  ```
316
347
 
317
- ### 0.9.11 (2012-06-06)
348
+ ## 0.9.11 (2012-06-06)
318
349
 
319
350
  * Feature: [#264](https://github.com/savonrb/savon/pull/264) - Thanks to @hoverlover, Savon and Akami now support
320
351
  signed messages through WSSE.
@@ -348,7 +379,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
348
379
  </env:Envelope>
349
380
  ```
350
381
 
351
- ### 0.9.10 (2012-06-06)
382
+ ## 0.9.10 (2012-06-06)
352
383
 
353
384
  * Feature: [#289](https://github.com/savonrb/savon/pull/289) - Allow the SOAP envelope header to be set as a String.
354
385
 
@@ -378,7 +409,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
378
409
  * Moved logging to the new `Savon::Logger` object.
379
410
  * Removed the `blank?` extension from `Object`.
380
411
 
381
- ### 0.9.9 (2012-02-17)
412
+ ## 0.9.9 (2012-02-17)
382
413
 
383
414
  * Improvement: [pull request 255](https://github.com/savonrb/savon/pull/255) - Raise an error if fetching
384
415
  a remote WSDL fails. Possible fix for [issue 236](https://github.com/savonrb/savon/issues/236).
@@ -402,7 +433,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
402
433
  * Fix: [pull request 265](https://github.com/savonrb/savon/pull/265) - Fixes gemspec problems when bundling
403
434
  under JRuby 1.6.5. Also fixes [issue 267](https://github.com/savonrb/savon/issues/267).
404
435
 
405
- ### 0.9.8 (2012-02-15)
436
+ ## 0.9.8 (2012-02-15)
406
437
 
407
438
  * Feature: Savon now ships with [Savon::Model](http://rubygems.org/gems/savon_model).
408
439
  Savon::Model is a lightweight DSL to be used inside your domain models. It's been refactored
@@ -436,7 +467,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
436
467
  * Fix: [pull request 250](https://github.com/savonrb/savon/pull/250) - The Content-Length header should
437
468
  be the size in bytes.
438
469
 
439
- ### 0.9.7 (2011-08-25)
470
+ ## 0.9.7 (2011-08-25)
440
471
 
441
472
  * Feature: Merged [pull request 210](https://github.com/savonrb/savon/pull/210) by
442
473
  [mboeh](https://github.com/mboeh) to add `Savon::SOAP::Response#doc` and
@@ -465,7 +496,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
465
496
 
466
497
  * Improvement: [issue 222](https://github.com/savonrb/savon/issues/222) - Set the Content-Length header.
467
498
 
468
- ### 0.9.6 (2011-07-07)
499
+ ## 0.9.6 (2011-07-07)
469
500
 
470
501
  * Improvement/Fix: Updated Savon to use the latest version of [Wasabi](http://rubygems.org/gems/wasabi).
471
502
  This should fix [issue 155](https://github.com/savonrb/savon/issues/155) - Savon can automatically add namespaces
@@ -476,16 +507,16 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
476
507
 
477
508
  * Fix: [issue 143](https://github.com/savonrb/savon/issues/143) - Updating Wasabi should solve this issue.
478
509
 
479
- ### 0.9.5 (2011-07-03)
510
+ ## 0.9.5 (2011-07-03)
480
511
 
481
512
  * Refactoring: Extracted WSSE authentication out into the [akami](http://rubygems.org/gems/akami) gem.
482
513
 
483
- ### 0.9.4 (2011-07-03)
514
+ ## 0.9.4 (2011-07-03)
484
515
 
485
516
  * Refactoring: Extracted the WSDL parser out into the [wasabi](http://rubygems.org/gems/wasabi) gem.
486
517
  This should isolate upcoming improvements to the parser.
487
518
 
488
- ### 0.9.3 (2011-06-30)
519
+ ## 0.9.3 (2011-06-30)
489
520
 
490
521
  * Fix: [issue 138](https://github.com/savonrb/savon/issues/138) -
491
522
  Savon now supports setting a global SOAP header via `Savon.soap_header=`.
@@ -520,7 +551,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
520
551
 
521
552
  * `Savon::SOAP::Response#basic_hash` is now `Savon::SOAP::Response#hash`.
522
553
 
523
- ### 0.9.2 (2011-04-30)
554
+ ## 0.9.2 (2011-04-30)
524
555
 
525
556
  * Fix: [issue 154](https://github.com/savonrb/savon/pull/154) -
526
557
  Timezone format used by Savon now matches the XML schema spec.
@@ -538,7 +569,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
538
569
 
539
570
  * Improvement: WSDL parsing now uses Nokogiri instead of REXML.
540
571
 
541
- ### 0.9.1 (2011-04-06)
572
+ ## 0.9.1 (2011-04-06)
542
573
 
543
574
  * Improvement: if you're only setting the local or remote address of your wsdl document, you can
544
575
  now pass an (optional) String to `Savon::Client.new` to set `wsdl.document`.
@@ -554,7 +585,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
554
585
  response[:authenticate_response][:return]
555
586
  ```
556
587
 
557
- ### 0.9.0 (2011-04-05)
588
+ ## 0.9.0 (2011-04-05)
558
589
 
559
590
  * Feature: issues [#158](https://github.com/savonrb/savon/issues/158),
560
591
  [#169](https://github.com/savonrb/savon/issues/169) and [#172](https://github.com/savonrb/savon/issues/172)
@@ -606,18 +637,18 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
606
637
 
607
638
  * And if you haven't already seen the new documentation: [savonrb.com](http://savonrb.com)
608
639
 
609
- ### 0.8.6 (2011-02-15)
640
+ ## 0.8.6 (2011-02-15)
610
641
 
611
642
  * Fix for issues [issue #147](https://github.com/savonrb/savon/issues/147) and [#151](https://github.com/savonrb/savon/issues/151)
612
643
  ([771194](https://github.com/savonrb/savon/commit/771194)).
613
644
 
614
- ### 0.8.5 (2011-01-28)
645
+ ## 0.8.5 (2011-01-28)
615
646
 
616
647
  * Fix for [issue #146](https://github.com/savonrb/savon/issues/146) ([98655c](https://github.com/savonrb/savon/commit/98655c)).
617
648
 
618
649
  * Fix for [issue #147](https://github.com/savonrb/savon/issues/147) ([252670](https://github.com/savonrb/savon/commit/252670)).
619
650
 
620
- ### 0.8.4 (2011-01-26)
651
+ ## 0.8.4 (2011-01-26)
621
652
 
622
653
  * Fix for issues [issue #130](https://github.com/savonrb/savon/issues/130) and [#134](https://github.com/savonrb/savon/issues/134)
623
654
  ([4f9847](https://github.com/savonrb/savon/commit/4f9847)).
@@ -626,14 +657,14 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
626
657
 
627
658
  * Fix for [issue #135](https://github.com/savonrb/savon/issues/135) ([c9261d](https://github.com/savonrb/savon/commit/c9261d)).
628
659
 
629
- ### 0.8.3 (2011-01-11)
660
+ ## 0.8.3 (2011-01-11)
630
661
 
631
662
  * Moved implementation of `Savon::SOAP::Response#to_array` to a class method at `Savon::SOAP::XML.to_array`
632
663
  ([05a7d3](https://github.com/savonrb/savon/commit/05a7d3)).
633
664
 
634
665
  * Fix for [issue #131](https://github.com/savonrb/savon/issues/131) ([4e57b3](https://github.com/savonrb/savon/commit/4e57b3)).
635
666
 
636
- ### 0.8.2 (2011-01-04)
667
+ ## 0.8.2 (2011-01-04)
637
668
 
638
669
  * Fix for [issue #127](https://github.com/savonrb/savon/issues/127) ([0eb3da](https://github.com/savonrb/savon/commit/0eb3da4)).
639
670
 
@@ -665,7 +696,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
665
696
  end
666
697
  ```
667
698
 
668
- ### 0.8.1 (2010-12-22)
699
+ ## 0.8.1 (2010-12-22)
669
700
 
670
701
  * Update to depend on HTTPI v0.7.5 which comes with a fallback to use Net::HTTP when no other adapter could be required.
671
702
 
@@ -673,7 +704,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
673
704
 
674
705
  * Loosen dependency on builder. Should be quite stable.
675
706
 
676
- ### 0.8.0 (2010-12-20)
707
+ ## 0.8.0 (2010-12-20)
677
708
 
678
709
  * Added `Savon::SOAP::XML#env_namespace` ([51fa0e](https://github.com/savonrb/savon/commit/51fa0e)) to configure
679
710
  the SOAP envelope namespace. It defaults to :env but can also be set to an empty String for SOAP envelope
@@ -682,7 +713,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
682
713
  * Replaced quite a lot of core extensions by moving the Hash to XML translation into a new gem called
683
714
  [Gyoku](http://rubygems.org/gems/gyoku) ([bac4b4](https://github.com/savonrb/savon/commit/bac4b4)).
684
715
 
685
- ### 0.8.0.beta.4 (2010-11-20)
716
+ ## 0.8.0.beta.4 (2010-11-20)
686
717
 
687
718
  * Fix for [issue #107](https://github.com/savonrb/savon/issues/107) ([1d6eda](https://github.com/savonrb/savon/commit/1d6eda)).
688
719
 
@@ -698,12 +729,12 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
698
729
  # => [{ :id => 1, :name => "foo"}, { :id => 2, :name => "bar"}]
699
730
  ```
700
731
 
701
- ### 0.8.0.beta.3 (2010-11-06)
732
+ ## 0.8.0.beta.3 (2010-11-06)
702
733
 
703
734
  * Fix for [savon_spec](http://rubygems.org/gems/savon_spec) to not send nil to `Savon::SOAP::XML#body`
704
735
  ([c34b42](https://github.com/savonrb/savon/commit/c34b42)).
705
736
 
706
- ### 0.8.0.beta.2 (2010-11-05)
737
+ ## 0.8.0.beta.2 (2010-11-05)
707
738
 
708
739
  * Added `Savon.response_pattern` ([0a12fb](https://github.com/savonrb/savon/commit/0a12fb)) to automatically walk deeper into
709
740
  the SOAP response Hash when a pattern (specified as an Array of Regexps and Symbols) matches the response. If for example
@@ -746,7 +777,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
746
777
 
747
778
  * Added `Savon::SOAP::Response#to_array` (which also uses the response pattern).
748
779
 
749
- ### 0.8.0.beta.1 (2010-10-29)
780
+ ## 0.8.0.beta.1 (2010-10-29)
750
781
 
751
782
  * Changed `Savon::Client.new` to accept a block instead of multiple Hash arguments. You can access the
752
783
  wsdl, http and wsse objects inside the block to configure your client for a particular service.
@@ -839,15 +870,15 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
839
870
 
840
871
  * Started to remove quite a few core extensions.
841
872
 
842
- ### 0.7.9 (2010-06-14)
873
+ ## 0.7.9 (2010-06-14)
843
874
 
844
875
  * Fix for [issue #53](https://github.com/savonrb/savon/issues/53).
845
876
 
846
- ### 0.7.8 (2010-05-09)
877
+ ## 0.7.8 (2010-05-09)
847
878
 
848
879
  * Fixed gemspec to include missing files in the gem.
849
880
 
850
- ### 0.7.7 (2010-05-09)
881
+ ## 0.7.7 (2010-05-09)
851
882
 
852
883
  * SOAP requests now start with a proper XML declaration.
853
884
 
@@ -870,7 +901,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
870
901
  in SOAP request Hash values, but you can now append an exclamation mark to Hash keys specifying that
871
902
  it's value should not be escaped.
872
903
 
873
- ### 0.7.6 (2010-03-21)
904
+ ## 0.7.6 (2010-03-21)
874
905
 
875
906
  * Moved documentation from the Github Wiki to the actual class files and established a much nicer
876
907
  documentation combining examples and implementation (using Hanna) at: http://savon.rubiii.com
@@ -886,7 +917,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
886
917
  * Fix for issues [#39](https://github.com/savonrb/savon/issues/39) and [#49](https://github.com/savonrb/savon/issues/49).
887
918
  Added `Savon::SOAP#xml` which let's you specify completely custom SOAP request XML.
888
919
 
889
- ### 0.7.5 (2010-02-19)
920
+ ## 0.7.5 (2010-02-19)
890
921
 
891
922
  * Fix for [issue #34](https://github.com/savonrb/savon/issues/34).
892
923
 
@@ -896,11 +927,11 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
896
927
 
897
928
  * Changed the key for specifying the order of tags from :@inorder to :order!
898
929
 
899
- ### 0.7.4 (2010-02-02)
930
+ ## 0.7.4 (2010-02-02)
900
931
 
901
932
  * Fix for [issue #33](https://github.com/savonrb/savon/issues/33).
902
933
 
903
- ### 0.7.3 (2010-01-31)
934
+ ## 0.7.3 (2010-01-31)
904
935
 
905
936
  * Added support for Geotrust-style WSDL documents (Julian Kornberger <github.corny@digineo.de>).
906
937
 
@@ -921,7 +952,7 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
921
952
 
922
953
  * Fix for [issue #25](https://github.com/savonrb/savon/issues/25).
923
954
 
924
- ### 0.7.2 (2010-01-17)
955
+ ## 0.7.2 (2010-01-17)
925
956
 
926
957
  * Exposed the `Net::HTTP` response (added by Kevin Ingolfsland). Use the `http` accessor (`response.http`)
927
958
  on your `Savon::Response` to access the `Net::HTTP` response object.
@@ -934,12 +965,12 @@ Combined release ticket: [#481](https://github.com/savonrb/savon/issues/481)
934
965
 
935
966
  * Added support for global header and namespaces. See [issue #9](https://github.com/savonrb/savon/issues/9).
936
967
 
937
- ### 0.7.1 (2010-01-10)
968
+ ## 0.7.1 (2010-01-10)
938
969
 
939
970
  * The Hash of HTTP headers for SOAP calls is now public via `Savon::Request#headers`.
940
971
  Patch for [issue #8](https://github.com/savonrb/savon/issues/8).
941
972
 
942
- ### 0.7.0 (2010-01-09)
973
+ ## 0.7.0 (2010-01-09)
943
974
 
944
975
  This version comes with several changes to the public API!
945
976
  Pay attention to the following list and read the updated Wiki: http://wiki.github.com/savonrb/savon
@@ -997,7 +1028,7 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
997
1028
  soap.namespace = "http://example.com"
998
1029
  ```
999
1030
 
1000
- ### 0.6.8 (2010-01-01)
1031
+ ## 0.6.8 (2010-01-01)
1001
1032
 
1002
1033
  * Improved specifications for various kinds of WSDL documents.
1003
1034
 
@@ -1014,7 +1045,7 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
1014
1045
  client.get_api_key { |soap| soap.input = "User.GetApiKey" }
1015
1046
  ```
1016
1047
 
1017
- ### 0.6.7 (2009-12-18)
1048
+ ## 0.6.7 (2009-12-18)
1018
1049
 
1019
1050
  * Implemented support for a proxy server. The proxy URI can be set through an optional Hash of options passed
1020
1051
  to instantiating `Savon::Client` (Dave Woodward <dave@futuremint.com>)
@@ -1024,17 +1055,17 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
1024
1055
 
1025
1056
  * Patch for [issue #10](https://github.com/savonrb/savon/issues/10).
1026
1057
 
1027
- ### 0.6.6 (2009-12-14)
1058
+ ## 0.6.6 (2009-12-14)
1028
1059
 
1029
1060
  * Default to use the name of the SOAP action (the method called in a client) in lowerCamelCase for SOAP action
1030
1061
  and input when Savon::WSDL is disabled. You still need to specify soap.action and maybe soap.input in case
1031
1062
  your SOAP actions are named any different.
1032
1063
 
1033
- ### 0.6.5 (2009-12-13)
1064
+ ## 0.6.5 (2009-12-13)
1034
1065
 
1035
1066
  * Added an `open_timeout` method to `Savon::Request`.
1036
1067
 
1037
- ### 0.6.4 (2009-12-13)
1068
+ ## 0.6.4 (2009-12-13)
1038
1069
 
1039
1070
  * Refactored specs to be less unit-like.
1040
1071
 
@@ -1052,7 +1083,7 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
1052
1083
  0.6.3 192.900000 19.630000 212.530000 (914.031865)
1053
1084
  ```
1054
1085
 
1055
- ### 0.6.3 (2009-12-11)
1086
+ ## 0.6.3 (2009-12-11)
1056
1087
 
1057
1088
  * Removing 2 ruby deprecation warnings for parenthesized arguments. (Dave Woodward <dave@futuremint.com>)
1058
1089
 
@@ -1076,17 +1107,17 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
1076
1107
  0.6.2 574.720000 78.380000 653.100000 (1387.778539)
1077
1108
  ```
1078
1109
 
1079
- ### 0.6.2 (2009-12-06)
1110
+ ## 0.6.2 (2009-12-06)
1080
1111
 
1081
1112
  * Added support for changing the name of the SOAP input node.
1082
1113
 
1083
1114
  * Added a CHANGELOG.
1084
1115
 
1085
- ### 0.6.1 (2009-12-06)
1116
+ ## 0.6.1 (2009-12-06)
1086
1117
 
1087
1118
  * Fixed a problem with WSSE credentials, where every request contained a WSSE authentication header.
1088
1119
 
1089
- ### 0.6.0 (2009-12-06)
1120
+ ## 0.6.0 (2009-12-06)
1090
1121
 
1091
1122
  * `method_missing` now yields the SOAP and WSSE objects to a given block.
1092
1123
 
@@ -1094,15 +1125,15 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
1094
1125
 
1095
1126
  * Improved SOAP action handling (another problem that came up with issue #1).
1096
1127
 
1097
- ### 0.5.3 (2009-11-30)
1128
+ ## 0.5.3 (2009-11-30)
1098
1129
 
1099
1130
  * Patch for [issue #2](https://github.com/savonrb/savon/issues/2).
1100
1131
 
1101
- ### 0.5.2 (2009-11-30)
1132
+ ## 0.5.2 (2009-11-30)
1102
1133
 
1103
1134
  * Patch for [issue #1](https://github.com/savonrb/savon/issues/1).
1104
1135
 
1105
- ### 0.5.1 (2009-11-29)
1136
+ ## 0.5.1 (2009-11-29)
1106
1137
 
1107
1138
  * Optimized default response process.
1108
1139
 
@@ -1114,6 +1145,6 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
1114
1145
 
1115
1146
  * Added specs
1116
1147
 
1117
- ### 0.5.0 (2009-11-29)
1148
+ ## 0.5.0 (2009-11-29)
1118
1149
 
1119
1150
  * Complete rewrite and public release.
data/README.md CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  Heavy metal SOAP client
4
4
 
5
- [Documentation](http://savonrb.com) | [RDoc](http://rubydoc.info/gems/savon) |
5
+ [Documentation](https://www.rubydoc.info/gems/savon/) | [Support](https://stackoverflow.com/questions/tagged/savon) |
6
6
  [Mailing list](https://groups.google.com/forum/#!forum/savonrb) | [Twitter](http://twitter.com/savonrb)
7
7
 
8
- [![Build Status](https://secure.travis-ci.org/savonrb/savon.svg?branch=master)](http://travis-ci.org/savonrb/savon)
8
+ [![Ruby](https://github.com/savonrb/savon/actions/workflows/ci.yml/badge.svg)](https://github.com/savonrb/savon/actions/workflows/ci.yml)
9
9
  [![Gem Version](https://badge.fury.io/rb/savon.svg)](http://badge.fury.io/rb/savon)
10
10
  [![Code Climate](https://codeclimate.com/github/savonrb/savon.svg)](https://codeclimate.com/github/savonrb/savon)
11
- [![Coverage Status](https://coveralls.io/repos/savonrb/savon/badge.svg?branch=version2)](https://coveralls.io/r/savonrb/savon)
11
+ [![Coverage Status](https://coveralls.io/repos/savonrb/savon/badge.svg)](https://coveralls.io/r/savonrb/savon)
12
12
 
13
13
 
14
14
  ## Version 2
@@ -22,7 +22,7 @@ $ gem install savon
22
22
  or add it to your Gemfile like this:
23
23
 
24
24
  ```
25
- gem 'savon', '~> 2.12.0'
25
+ gem 'savon', '~> 2.13.0'
26
26
  ```
27
27
 
28
28
  ## Usage example
@@ -33,6 +33,12 @@ require 'savon'
33
33
  # create a client for the service
34
34
  client = Savon.client(wsdl: 'http://service.example.com?wsdl')
35
35
 
36
+ # or: create a client with a wsdl provided as a string
37
+ client = Savon.client do |config|
38
+ wsdl_content = File.read("/path/to/wsdl")
39
+ config.wsdl wsdl_content
40
+ end
41
+
36
42
  client.operations
37
43
  # => [:find_user, :list_users]
38
44
 
@@ -47,10 +53,12 @@ For more examples, you should check out the
47
53
  [integration tests](https://github.com/savonrb/savon/tree/version2/spec/integration).
48
54
 
49
55
  ## Ruby version support
50
- * 2.12.x - MRI 2.2, 2.3, 2.4
56
+
57
+ * `master` - MRI 2.7, 3.0, 3.1 (same support as Ruby)
58
+ * 2.12.x - MRI 2.2, 2.3, 2.4, 2.5
51
59
  * 2.11.x - MRI 2.0, 2.1, 2.2, and 2.3
52
60
 
53
- If you are running MRI 1.8.7, try the 2.6.x branch.
61
+ If you are running MRI 1.8.7, try a 2.6.x release.
54
62
 
55
63
  ## Running tests
56
64
 
@@ -64,19 +72,7 @@ $ bundle exec rspec
64
72
  * URI::InvalidURIError -- if you see this error, then it is likely that the http client you are using cannot parse the URI for your WSDL. Try `gem install httpclient` or add it to your `Gemfile`.
65
73
  - See https://github.com/savonrb/savon/issues/488 for more info
66
74
 
67
- ## Give back
68
-
69
- If you're using Savon and you or your company is making money from it, then please consider
70
- donating via [Gittip](https://www.gittip.com/tjarratt/) so that I can continue to improve it.
71
-
72
- [![donate](donate.png)](https://www.gittip.com/tjarratt/)
73
-
74
75
 
75
76
  ## Documentation
76
77
 
77
- Please make sure to [read the documentation](http://savonrb.com/version2/).
78
-
79
- And if you find any problems with it or if you think something's missing,
80
- feel free to [help out and improve the documentation](https://github.com/savonrb/savonrb.com).
81
-
82
- Donate icon from the [Noun Project](http://thenounproject.com/noun/donate/#icon-No285).
78
+ Please be sure to [read the documentation](https://www.rubydoc.info/github/savonrb/savon/).
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module Savon
2
3
  class BlockInterface
3
4