savon 1.2.0 → 2.0.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.
- data/CHANGELOG.md +119 -104
- data/README.md +12 -11
- data/Rakefile +0 -6
- data/lib/savon.rb +16 -14
- data/lib/savon/block_interface.rb +26 -0
- data/lib/savon/builder.rb +142 -0
- data/lib/savon/client.rb +36 -135
- data/lib/savon/header.rb +42 -0
- data/lib/savon/http_error.rb +27 -0
- data/lib/savon/log_message.rb +23 -25
- data/lib/savon/message.rb +35 -0
- data/lib/savon/mock.rb +5 -0
- data/lib/savon/mock/expectation.rb +70 -0
- data/lib/savon/mock/spec_helper.rb +62 -0
- data/lib/savon/model.rb +39 -61
- data/lib/savon/operation.rb +62 -0
- data/lib/savon/options.rb +265 -0
- data/lib/savon/qualified_message.rb +49 -0
- data/lib/savon/request.rb +92 -0
- data/lib/savon/response.rb +97 -0
- data/lib/savon/soap_fault.rb +40 -0
- data/lib/savon/version.rb +1 -1
- data/savon.gemspec +10 -8
- data/spec/integration/options_spec.rb +536 -0
- data/spec/integration/request_spec.rb +31 -16
- data/spec/integration/support/application.rb +80 -0
- data/spec/integration/support/server.rb +84 -0
- data/spec/savon/builder_spec.rb +81 -0
- data/spec/savon/client_spec.rb +90 -488
- data/spec/savon/http_error_spec.rb +49 -0
- data/spec/savon/log_message_spec.rb +33 -0
- data/spec/savon/mock_spec.rb +127 -0
- data/spec/savon/model_spec.rb +110 -99
- data/spec/savon/observers_spec.rb +92 -0
- data/spec/savon/operation_spec.rb +49 -0
- data/spec/savon/request_spec.rb +145 -0
- data/spec/savon/{soap/response_spec.rb → response_spec.rb} +22 -59
- data/spec/savon/soap_fault_spec.rb +94 -0
- data/spec/spec_helper.rb +5 -3
- data/spec/support/fixture.rb +5 -1
- metadata +202 -197
- data/lib/savon/config.rb +0 -46
- data/lib/savon/error.rb +0 -6
- data/lib/savon/hooks/group.rb +0 -68
- data/lib/savon/hooks/hook.rb +0 -61
- data/lib/savon/http/error.rb +0 -42
- data/lib/savon/logger.rb +0 -39
- data/lib/savon/null_logger.rb +0 -10
- data/lib/savon/soap.rb +0 -21
- data/lib/savon/soap/fault.rb +0 -59
- data/lib/savon/soap/invalid_response_error.rb +0 -13
- data/lib/savon/soap/request.rb +0 -86
- data/lib/savon/soap/request_builder.rb +0 -205
- data/lib/savon/soap/response.rb +0 -117
- data/lib/savon/soap/xml.rb +0 -257
- data/spec/savon/config_spec.rb +0 -38
- data/spec/savon/hooks/group_spec.rb +0 -71
- data/spec/savon/hooks/hook_spec.rb +0 -16
- data/spec/savon/http/error_spec.rb +0 -52
- data/spec/savon/logger_spec.rb +0 -51
- data/spec/savon/savon_spec.rb +0 -33
- data/spec/savon/soap/fault_spec.rb +0 -89
- data/spec/savon/soap/request_builder_spec.rb +0 -207
- data/spec/savon/soap/request_spec.rb +0 -112
- data/spec/savon/soap/xml_spec.rb +0 -357
- data/spec/savon/soap_spec.rb +0 -16
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,24 @@
|
|
1
|
+
## 2.0.0 (2012-12-18)
|
2
|
+
|
3
|
+
* Read about all the changes in the [updated documentation](http://savonrb.com/version2.html).
|
4
|
+
|
5
|
+
* Fix: [#322](https://github.com/savonrb/savon/issues/322) use the builder's state instead of the
|
6
|
+
block's return value to set the soap body/xml values.
|
7
|
+
|
8
|
+
* Fix: [#327](https://github.com/savonrb/savon/issues/327) `response.to_array` now properly
|
9
|
+
returns FalseClass values.
|
10
|
+
|
11
|
+
* Fix: [320](https://github.com/savonrb/savon/issues/320) use the correct SOAP namespace when the
|
12
|
+
SOAP version changes between requests.
|
13
|
+
|
14
|
+
* Fix: [321](https://github.com/savonrb/savon/issues/321) preserve `[false]` values in Hashes.
|
15
|
+
|
1
16
|
## 1.2.0 (2012-09-15)
|
2
17
|
|
3
|
-
* Fix: [#312](https://github.com/
|
18
|
+
* Fix: [#312](https://github.com/savonrb/savon/pull/312) recursively determines the proper namespaces
|
4
19
|
for SOAP body Hashes with nested Arrays of Hashes.
|
5
20
|
|
6
|
-
* Improvement: [#318](https://github.com/
|
21
|
+
* Improvement: [#318](https://github.com/savonrb/savon/pull/318) isolates building the request to
|
7
22
|
improve threadsafety.
|
8
23
|
|
9
24
|
* Refactoring: Use the `Wasabi::Document` with resolver instead of the custom `Savon::Wasabi::Document`.
|
@@ -39,7 +54,7 @@
|
|
39
54
|
|
40
55
|
* Fix: `Savon.client` didn't pass the optional block.
|
41
56
|
|
42
|
-
* Improvement: [#291](https://github.com/
|
57
|
+
* Improvement: [#291](https://github.com/savonrb/savon/issues/291) changed the `:soap_request` hook to act
|
43
58
|
like an around filter. The hook now receives a callback block to execute the SOAP call and can return
|
44
59
|
the result of the callback to continue the request. It can also not call the callback block and return
|
45
60
|
some `HTTPI::Response` to mock the SOAP request.
|
@@ -48,11 +63,11 @@
|
|
48
63
|
|
49
64
|
### 0.9.14 (2012-06-07)
|
50
65
|
|
51
|
-
* Fix: [#292](https://github.com/
|
66
|
+
* Fix: [#292](https://github.com/savonrb/savon/issues/292) again
|
52
67
|
|
53
68
|
### 0.9.13 (2012-06-07)
|
54
69
|
|
55
|
-
* Fix: [#292](https://github.com/
|
70
|
+
* Fix: [#292](https://github.com/savonrb/savon/issues/292)
|
56
71
|
|
57
72
|
### 0.9.12 (2012-06-07)
|
58
73
|
|
@@ -69,15 +84,15 @@
|
|
69
84
|
|
70
85
|
### 0.9.11 (2012-06-06)
|
71
86
|
|
72
|
-
* Feature: [#264](https://github.com/
|
87
|
+
* Feature: [#264](https://github.com/savonrb/savon/pull/264) - Thanks to @hoverlover, Savon and Akami now support
|
73
88
|
signed messages through WSSE.
|
74
89
|
|
75
|
-
* Fix: [#275](https://github.com/
|
90
|
+
* Fix: [#275](https://github.com/savonrb/savon/pull/275) - Add namespaces to keys in both the SOAP body hash as well
|
76
91
|
as any keys specified in a :order! Array instead of having to define them manually.
|
77
92
|
|
78
|
-
* Fix: [#257](https://github.com/
|
93
|
+
* Fix: [#257](https://github.com/savonrb/savon/issues/257) - Add ability to accept and send multiple cookies.
|
79
94
|
|
80
|
-
* Improvement: [#277](https://github.com/
|
95
|
+
* Improvement: [#277](https://github.com/savonrb/savon/pull/277) automatically namespace the SOAP input tag.
|
81
96
|
Here's an example from the pull request:
|
82
97
|
|
83
98
|
``` ruby
|
@@ -103,17 +118,17 @@
|
|
103
118
|
|
104
119
|
### 0.9.10 (2012-06-06)
|
105
120
|
|
106
|
-
* Feature: [#289](https://github.com/
|
121
|
+
* Feature: [#289](https://github.com/savonrb/savon/pull/289) - Allow the SOAP envelope header to be set as a String.
|
107
122
|
|
108
123
|
* Feature: In addition to the global configuration, there's now also one configuration per client.
|
109
124
|
The global config is cloned when a new client is initialized and gets used instead of the global one.
|
110
125
|
In addition, for `Savon::Model` classes, the config is cloned per class.
|
111
126
|
|
112
|
-
Closes [#84](https://github.com/
|
113
|
-
[#270](https://github.com/
|
127
|
+
Closes [#84](https://github.com/savonrb/savon/issues/84) by allowing one logger per client and
|
128
|
+
[#270](https://github.com/savonrb/savon/issues/270) by allowing to specify error handling per client.
|
114
129
|
|
115
|
-
* Feature: Added an option to pretty print XML in log messages. Closes [#256](https://github.com/
|
116
|
-
and [#280](https://github.com/
|
130
|
+
* Feature: Added an option to pretty print XML in log messages. Closes [#256](https://github.com/savonrb/savon/issues/256)
|
131
|
+
and [#280](https://github.com/savonrb/savon/issues/280).
|
117
132
|
|
118
133
|
``` ruby
|
119
134
|
# global
|
@@ -133,8 +148,8 @@
|
|
133
148
|
|
134
149
|
### 0.9.9 (2012-02-17)
|
135
150
|
|
136
|
-
* Improvement: [pull request 255](https://github.com/
|
137
|
-
a remote WSDL fails. Possible fix for [issue 236](https://github.com/
|
151
|
+
* Improvement: [pull request 255](https://github.com/savonrb/savon/pull/255) - Raise an error if fetching
|
152
|
+
a remote WSDL fails. Possible fix for [issue 236](https://github.com/savonrb/savon/issues/236).
|
138
153
|
|
139
154
|
* Improvement: The value for elementFormDefault (:unqualified, :qualified) can now be specified when creating
|
140
155
|
a `Savon::Client`. For example:
|
@@ -145,15 +160,15 @@
|
|
145
160
|
end
|
146
161
|
```
|
147
162
|
|
148
|
-
* Improvement: [pull request 263](https://github.com/
|
163
|
+
* Improvement: [pull request 263](https://github.com/savonrb/savon/pull/263) - The SOAP action can now be set
|
149
164
|
via a `:soap_action` key passed to the `#request` method.
|
150
165
|
|
151
166
|
``` ruby
|
152
167
|
client.request(:get_user, :soap_action => :test_action)
|
153
168
|
```
|
154
169
|
|
155
|
-
* Fix: [pull request 265](https://github.com/
|
156
|
-
under JRuby 1.6.5. Also fixes [issue 267](https://github.com/
|
170
|
+
* Fix: [pull request 265](https://github.com/savonrb/savon/pull/265) - Fixes gemspec problems when bundling
|
171
|
+
under JRuby 1.6.5. Also fixes [issue 267](https://github.com/savonrb/savon/issues/267).
|
157
172
|
|
158
173
|
### 0.9.8 (2012-02-15)
|
159
174
|
|
@@ -161,7 +176,7 @@
|
|
161
176
|
Savon::Model is a lightweight DSL to be used inside your domain models. It's been refactored
|
162
177
|
and is now [even more useful](http://savonrb.com/#how_to_date_a_model) than before.
|
163
178
|
|
164
|
-
* Feature: Merged [pull request 230](https://github.com/
|
179
|
+
* Feature: Merged [pull request 230](https://github.com/savonrb/savon/pull/230) to allow filtering values
|
165
180
|
in logged SOAP request XML messages.
|
166
181
|
|
167
182
|
``` ruby
|
@@ -171,7 +186,7 @@
|
|
171
186
|
```
|
172
187
|
|
173
188
|
* Feature: Added an option to change the default encoding of the XML directive tag (defaults to UTF-8)
|
174
|
-
to fix [issue 234](https://github.com/
|
189
|
+
to fix [issue 234](https://github.com/savonrb/savon/issues/234).
|
175
190
|
|
176
191
|
``` ruby
|
177
192
|
client.request(:find_user) do
|
@@ -180,23 +195,23 @@
|
|
180
195
|
end
|
181
196
|
```
|
182
197
|
|
183
|
-
* Improvement: Merged [pull request 231](https://github.com/
|
198
|
+
* Improvement: Merged [pull request 231](https://github.com/savonrb/savon/pull/231) to gracefully handle
|
184
199
|
invalid response bodies by throwing a `Savon::SOAP::InvalidResponseError`.
|
185
200
|
|
186
|
-
* Fix: [issue 237](https://github.com/
|
201
|
+
* Fix: [issue 237](https://github.com/savonrb/savon/issues/237) - Set the Content-Type and Content-Length
|
187
202
|
headers for every request.
|
188
203
|
|
189
|
-
* Fix: [pull request 250](https://github.com/
|
204
|
+
* Fix: [pull request 250](https://github.com/savonrb/savon/pull/250) - The Content-Length header should
|
190
205
|
be the size in bytes.
|
191
206
|
|
192
207
|
### 0.9.7 (2011-08-25)
|
193
208
|
|
194
|
-
* Feature: Merged [pull request 210](https://github.com/
|
209
|
+
* Feature: Merged [pull request 210](https://github.com/savonrb/savon/pull/210) by
|
195
210
|
[mboeh](https://github.com/mboeh) to add `Savon::SOAP::Response#doc` and
|
196
211
|
`Savon::SOAP::Response#xpath`.
|
197
212
|
|
198
|
-
* Feature: Merged [pull request 211](https://github.com/
|
199
|
-
[mattkirman](https://github.com/mattkirman) to fix [issue 202](https://github.com/
|
213
|
+
* Feature: Merged [pull request 211](https://github.com/savonrb/savon/pull/211) by
|
214
|
+
[mattkirman](https://github.com/mattkirman) to fix [issue 202](https://github.com/savonrb/savon/issues/202).
|
200
215
|
|
201
216
|
* Feature: You can now pass a block to `Savon::SOAP::XML#body` and use Builder to create the XML:
|
202
217
|
|
@@ -210,24 +225,24 @@
|
|
210
225
|
end
|
211
226
|
```
|
212
227
|
|
213
|
-
* Fix: [issue 218](https://github.com/
|
228
|
+
* Fix: [issue 218](https://github.com/savonrb/savon/pull/218) - Savon now correctly handles namespaced
|
214
229
|
Array items in a Hash passed to `Savon::SOAP::XML#body=`.
|
215
230
|
|
216
|
-
* Fix: Merged [pull request 212](https://github.com/
|
217
|
-
[savon_spec issue 2](https://github.com/
|
231
|
+
* Fix: Merged [pull request 212](https://github.com/savonrb/savon/pull/212) to fix
|
232
|
+
[savon_spec issue 2](https://github.com/savonrb/savon_spec/issues/2).
|
218
233
|
|
219
|
-
* Improvement: [issue 222](https://github.com/
|
234
|
+
* Improvement: [issue 222](https://github.com/savonrb/savon/issues/222) - Set the Content-Length header.
|
220
235
|
|
221
236
|
### 0.9.6 (2011-07-07)
|
222
237
|
|
223
238
|
* Improvement/Fix: Updated Savon to use the latest version of [Wasabi](http://rubygems.org/gems/wasabi).
|
224
|
-
This should fix [issue 155](https://github.com/
|
239
|
+
This should fix [issue 155](https://github.com/savonrb/savon/issues/155) - Savon can automatically add namespaces
|
225
240
|
to SOAP requests based on the WSDL. Users shouldn't need to do anything differently or even notice whether their WSDL
|
226
241
|
hits this case; the intention is that this will "Just Work" and follow the WSDL. The SOAP details are that if
|
227
242
|
elementFormDefault is specified as qualified, Savon will automatically prepend the correct XML namespaces to the
|
228
243
|
elements in a SOAP request. Thanks to [jkingdon](https://github.com/jkingdon) for this.
|
229
244
|
|
230
|
-
* Fix: [issue 143](https://github.com/
|
245
|
+
* Fix: [issue 143](https://github.com/savonrb/savon/issues/143) - Updating Wasabi should solve this issue.
|
231
246
|
|
232
247
|
### 0.9.5 (2011-07-03)
|
233
248
|
|
@@ -240,7 +255,7 @@
|
|
240
255
|
|
241
256
|
### 0.9.3 (2011-06-30)
|
242
257
|
|
243
|
-
* Fix: [issue 138](https://github.com/
|
258
|
+
* Fix: [issue 138](https://github.com/savonrb/savon/issues/138) -
|
244
259
|
Savon now supports setting a global SOAP header via `Savon.soap_header=`.
|
245
260
|
|
246
261
|
* Fixed the namespace for wsse message timestamps from `wsse:Timestamp`
|
@@ -257,7 +272,7 @@
|
|
257
272
|
|
258
273
|
* `Hash#map_soap_response` and some of its helpers are moved to [Nori v1.0.0](http://rubygems.org/gems/nori/versions/1.0.0).
|
259
274
|
Along with replacing core extensions with a proper implementation, Nori now contains a number of methods
|
260
|
-
for [configuring its default behavior](https://github.com/
|
275
|
+
for [configuring its default behavior](https://github.com/savonrb/nori/blob/master/CHANGELOG.md):
|
261
276
|
|
262
277
|
* The option whether to strip namespaces was moved to Nori.strip_namespaces
|
263
278
|
* You can disable "advanced typecasting" for SOAP response values
|
@@ -275,11 +290,11 @@
|
|
275
290
|
|
276
291
|
### 0.9.2 (2011-04-30)
|
277
292
|
|
278
|
-
* Fix: [issue 154](https://github.com/
|
293
|
+
* Fix: [issue 154](https://github.com/savonrb/savon/pull/154) -
|
279
294
|
Timezone format used by Savon now matches the XML schema spec.
|
280
295
|
|
281
296
|
* Improvement: WSSE basic, digest and timestamp authentication are no longer mutually exclusive.
|
282
|
-
Thanks to [mleon](https://github.com/mleon) for solving [issue #142](https://github.com/
|
297
|
+
Thanks to [mleon](https://github.com/mleon) for solving [issue #142](https://github.com/savonrb/savon/issues/142).
|
283
298
|
|
284
299
|
* Improvement: Switched from using Crack to translate the SOAP response to a Hash to using
|
285
300
|
[Nori](http://rubygems.org/gems/nori). It's based on Crack and comes with pluggable parsers.
|
@@ -309,8 +324,8 @@
|
|
309
324
|
|
310
325
|
### 0.9.0 (2011-04-05)
|
311
326
|
|
312
|
-
* Feature: issues [#158](https://github.com/
|
313
|
-
[#169](https://github.com/
|
327
|
+
* Feature: issues [#158](https://github.com/savonrb/savon/issues/158),
|
328
|
+
[#169](https://github.com/savonrb/savon/issues/169) and [#172](https://github.com/savonrb/savon/issues/172)
|
314
329
|
configurable "Hash key Symbol to lowerCamelCase" conversion by using the latest version of
|
315
330
|
[Gyoku](http://rubygems.org/gems/gyoku).
|
316
331
|
|
@@ -341,12 +356,12 @@
|
|
341
356
|
client.request(:get_user) # => "<GetUser/>"
|
342
357
|
```
|
343
358
|
|
344
|
-
* Improvement: issues [#170](https://github.com/
|
345
|
-
[#173](https://github.com/
|
359
|
+
* Improvement: issues [#170](https://github.com/savonrb/savon/issues/170) and
|
360
|
+
[#173](https://github.com/savonrb/savon/issues/173) Savon no longer rescues exceptions raised by
|
346
361
|
`Crack::XML.parse`. If Crack complains about your WSDL document, you should take control and
|
347
362
|
solve the problem instead of getting no response.
|
348
363
|
|
349
|
-
* Improvement: issue [#172](https://github.com/
|
364
|
+
* Improvement: issue [#172](https://github.com/savonrb/savon/issues/172) support for global env_namespace.
|
350
365
|
|
351
366
|
``` ruby
|
352
367
|
Savon.configure do |config|
|
@@ -354,45 +369,45 @@
|
|
354
369
|
end
|
355
370
|
```
|
356
371
|
|
357
|
-
* Fix: [issue #163](https://github.com/
|
372
|
+
* Fix: [issue #163](https://github.com/savonrb/savon/issues/163) "Savon 0.8.6 not playing nicely
|
358
373
|
with Httpi 0.9.0". Updating HTTPI to v0.9.1 should solve this problem.
|
359
374
|
|
360
375
|
* And if you haven't already seen the new documentation: [savonrb.com](http://savonrb.com)
|
361
376
|
|
362
377
|
### 0.8.6 (2011-02-15)
|
363
378
|
|
364
|
-
* Fix for issues [issue #147](https://github.com/
|
365
|
-
([771194](https://github.com/
|
379
|
+
* Fix for issues [issue #147](https://github.com/savonrb/savon/issues/147) and [#151](https://github.com/savonrb/savon/issues/151)
|
380
|
+
([771194](https://github.com/savonrb/savon/commit/771194)).
|
366
381
|
|
367
382
|
### 0.8.5 (2011-01-28)
|
368
383
|
|
369
|
-
* Fix for [issue #146](https://github.com/
|
384
|
+
* Fix for [issue #146](https://github.com/savonrb/savon/issues/146) ([98655c](https://github.com/savonrb/savon/commit/98655c)).
|
370
385
|
|
371
|
-
* Fix for [issue #147](https://github.com/
|
386
|
+
* Fix for [issue #147](https://github.com/savonrb/savon/issues/147) ([252670](https://github.com/savonrb/savon/commit/252670)).
|
372
387
|
|
373
388
|
### 0.8.4 (2011-01-26)
|
374
389
|
|
375
|
-
* Fix for issues [issue #130](https://github.com/
|
376
|
-
([4f9847](https://github.com/
|
390
|
+
* Fix for issues [issue #130](https://github.com/savonrb/savon/issues/130) and [#134](https://github.com/savonrb/savon/issues/134)
|
391
|
+
([4f9847](https://github.com/savonrb/savon/commit/4f9847)).
|
377
392
|
|
378
|
-
* Fix for [issue #91](https://github.com/
|
393
|
+
* Fix for [issue #91](https://github.com/savonrb/savon/issues/91) ([5c8ec1](https://github.com/savonrb/savon/commit/5c8ec1)).
|
379
394
|
|
380
|
-
* Fix for [issue #135](https://github.com/
|
395
|
+
* Fix for [issue #135](https://github.com/savonrb/savon/issues/135) ([c9261d](https://github.com/savonrb/savon/commit/c9261d)).
|
381
396
|
|
382
397
|
### 0.8.3 (2011-01-11)
|
383
398
|
|
384
399
|
* Moved implementation of `Savon::SOAP::Response#to_array` to a class method at `Savon::SOAP::XML.to_array`
|
385
|
-
([05a7d3](https://github.com/
|
400
|
+
([05a7d3](https://github.com/savonrb/savon/commit/05a7d3)).
|
386
401
|
|
387
|
-
* Fix for [issue #131](https://github.com/
|
402
|
+
* Fix for [issue #131](https://github.com/savonrb/savon/issues/131) ([4e57b3](https://github.com/savonrb/savon/commit/4e57b3)).
|
388
403
|
|
389
404
|
### 0.8.2 (2011-01-04)
|
390
405
|
|
391
|
-
* Fix for [issue #127](https://github.com/
|
406
|
+
* Fix for [issue #127](https://github.com/savonrb/savon/issues/127) ([0eb3da](https://github.com/savonrb/savon/commit/0eb3da4)).
|
392
407
|
|
393
|
-
* Changed `Savon::WSSE` to be based on a Hash instead of relying on builder ([4cebc3](https://github.com/
|
408
|
+
* Changed `Savon::WSSE` to be based on a Hash instead of relying on builder ([4cebc3](https://github.com/savonrb/savon/commit/4cebc3)).
|
394
409
|
|
395
|
-
`Savon::WSSE` now supports wsse:Timestamp headers ([issue #122](https://github.com/
|
410
|
+
`Savon::WSSE` now supports wsse:Timestamp headers ([issue #122](https://github.com/savonrb/savon/issues/122)) by setting
|
396
411
|
`Savon::WSSE#timestamp` to `true`:
|
397
412
|
|
398
413
|
``` ruby
|
@@ -410,7 +425,7 @@
|
|
410
425
|
end
|
411
426
|
```
|
412
427
|
|
413
|
-
You can also add custom tags to the WSSE header ([issue #69](https://github.com/
|
428
|
+
You can also add custom tags to the WSSE header ([issue #69](https://github.com/savonrb/savon/issues/69)):
|
414
429
|
|
415
430
|
``` ruby
|
416
431
|
client.request :some_method do
|
@@ -422,28 +437,28 @@
|
|
422
437
|
|
423
438
|
* Update to depend on HTTPI v0.7.5 which comes with a fallback to use Net::HTTP when no other adapter could be required.
|
424
439
|
|
425
|
-
* Fix for [issue #72](https://github.com/
|
440
|
+
* Fix for [issue #72](https://github.com/savonrb/savon/issues/72) ([22074a](https://github.com/savonrb/savon/commit/22074a8)).
|
426
441
|
|
427
442
|
* Loosen dependency on builder. Should be quite stable.
|
428
443
|
|
429
444
|
### 0.8.0 (2010-12-20)
|
430
445
|
|
431
|
-
* Added `Savon::SOAP::XML#env_namespace` ([51fa0e](https://github.com/
|
446
|
+
* Added `Savon::SOAP::XML#env_namespace` ([51fa0e](https://github.com/savonrb/savon/commit/51fa0e)) to configure
|
432
447
|
the SOAP envelope namespace. It defaults to :env but can also be set to an empty String for SOAP envelope
|
433
448
|
tags without a namespace.
|
434
449
|
|
435
450
|
* Replaced quite a lot of core extensions by moving the Hash to XML translation into a new gem called
|
436
|
-
[Gyoku](http://rubygems.org/gems/gyoku) ([bac4b4](https://github.com/
|
451
|
+
[Gyoku](http://rubygems.org/gems/gyoku) ([bac4b4](https://github.com/savonrb/savon/commit/bac4b4)).
|
437
452
|
|
438
453
|
### 0.8.0.beta.4 (2010-11-20)
|
439
454
|
|
440
|
-
* Fix for [issue #107](https://github.com/
|
455
|
+
* Fix for [issue #107](https://github.com/savonrb/savon/issues/107) ([1d6eda](https://github.com/savonrb/savon/commit/1d6eda)).
|
441
456
|
|
442
|
-
* Fix for [issue #108](https://github.com/
|
443
|
-
([f64400...0aaca2](https://github.com/
|
457
|
+
* Fix for [issue #108](https://github.com/savonrb/savon/issues/108)
|
458
|
+
([f64400...0aaca2](https://github.com/savonrb/savon/compare/f64400...0aaca2)) Thanks [fagiani](https://github.com/fagiani).
|
444
459
|
|
445
460
|
* Replaced `Savon.response_pattern` with a slightly different implementation of the `Savon::SOAP::Response#to_array` method
|
446
|
-
([6df6a6](https://github.com/
|
461
|
+
([6df6a6](https://github.com/savonrb/savon/commit/6df6a6)). The method now accepts multiple arguments representing the response
|
447
462
|
Hash keys to traverse and returns the result as an Array or an empty Array in case the key is nil or does not exist.
|
448
463
|
|
449
464
|
``` ruby
|
@@ -454,11 +469,11 @@
|
|
454
469
|
### 0.8.0.beta.3 (2010-11-06)
|
455
470
|
|
456
471
|
* Fix for [savon_spec](http://rubygems.org/gems/savon_spec) to not send nil to `Savon::SOAP::XML#body`
|
457
|
-
([c34b42](https://github.com/
|
472
|
+
([c34b42](https://github.com/savonrb/savon/commit/c34b42)).
|
458
473
|
|
459
474
|
### 0.8.0.beta.2 (2010-11-05)
|
460
475
|
|
461
|
-
* Added `Savon.response_pattern` ([0a12fb](https://github.com/
|
476
|
+
* Added `Savon.response_pattern` ([0a12fb](https://github.com/savonrb/savon/commit/0a12fb)) to automatically walk deeper into
|
462
477
|
the SOAP response Hash when a pattern (specified as an Array of Regexps and Symbols) matches the response. If for example
|
463
478
|
your response always looks like ".+Response/return" as in:
|
464
479
|
|
@@ -519,7 +534,7 @@
|
|
519
534
|
end
|
520
535
|
```
|
521
536
|
|
522
|
-
* Fix for [issue #77](https://github.com/
|
537
|
+
* Fix for [issue #77](https://github.com/savonrb/savon/issues/77), which means you can now use
|
523
538
|
local WSDL documents:
|
524
539
|
|
525
540
|
``` ruby
|
@@ -540,8 +555,8 @@
|
|
540
555
|
end
|
541
556
|
```
|
542
557
|
|
543
|
-
* The new `Savon::Client#request` method fixes issues [#37](https://github.com/
|
544
|
-
[#61](https://github.com/
|
558
|
+
* The new `Savon::Client#request` method fixes issues [#37](https://github.com/savonrb/savon/issues/37),
|
559
|
+
[#61](https://github.com/savonrb/savon/issues/61) and [#64](https://github.com/savonrb/savon/issues/64),
|
545
560
|
which report problems with namespacing the SOAP input tag and attaching attributes to it.
|
546
561
|
Some usage examples:
|
547
562
|
|
@@ -563,30 +578,30 @@
|
|
563
578
|
* Savon now adds both "xmlns:xsd" and "xmlns:xsi" namespaces for you. Thanks Averell.
|
564
579
|
It also properly serializes nil values as xsi:nil = "true".
|
565
580
|
|
566
|
-
* Fix for [issue #24](https://github.com/
|
581
|
+
* Fix for [issue #24](https://github.com/savonrb/savon/issues/24).
|
567
582
|
Instead of Net/HTTP, Savon now uses HTTPI to execute HTTP requests.
|
568
583
|
HTTPI defaults to use HTTPClient which supports HTTP digest authentication.
|
569
584
|
|
570
|
-
* Fix for [issue #76](https://github.com/
|
585
|
+
* Fix for [issue #76](https://github.com/savonrb/savon/issues/76).
|
571
586
|
You now have to explicitly specify whether to use a WSDL document, when instantiating a client.
|
572
587
|
|
573
|
-
* Fix for [issue #75](https://github.com/
|
588
|
+
* Fix for [issue #75](https://github.com/savonrb/savon/issues/75).
|
574
589
|
Both `Savon::SOAP::Fault` and `Savon::HTTP::Error` now contain the `HTTPI::Response`.
|
575
590
|
They also inherit from `Savon::Error`, making it easier to rescue both at the same time.
|
576
591
|
|
577
|
-
* Fix for [issue #87](https://github.com/
|
592
|
+
* Fix for [issue #87](https://github.com/savonrb/savon/issues/87).
|
578
593
|
Thanks to Leonardo Borges.
|
579
594
|
|
580
|
-
* Fix for [issue #81](https://github.com/
|
595
|
+
* Fix for [issue #81](https://github.com/savonrb/savon/issues/81).
|
581
596
|
Replaced `Savon::WSDL::Document#to_s` with a `to_xml` method.
|
582
597
|
|
583
|
-
* Fix for issues [#85](https://github.com/
|
598
|
+
* Fix for issues [#85](https://github.com/savonrb/savon/issues/85) and [#88](https://github.com/savonrb/savon/issues/88).
|
584
599
|
|
585
|
-
* Fix for [issue #80](https://github.com/
|
600
|
+
* Fix for [issue #80](https://github.com/savonrb/savon/issues/80).
|
586
601
|
|
587
|
-
* Fix for [issue #60](https://github.com/
|
602
|
+
* Fix for [issue #60](https://github.com/savonrb/savon/issues/60).
|
588
603
|
|
589
|
-
* Fix for [issue #96](https://github.com/
|
604
|
+
* Fix for [issue #96](https://github.com/savonrb/savon/issues/96).
|
590
605
|
|
591
606
|
* Removed global WSSE credentials. Authentication needs to be set up for each client instance.
|
592
607
|
|
@@ -594,7 +609,7 @@
|
|
594
609
|
|
595
610
|
### 0.7.9 (2010-06-14)
|
596
611
|
|
597
|
-
* Fix for [issue #53](https://github.com/
|
612
|
+
* Fix for [issue #53](https://github.com/savonrb/savon/issues/53).
|
598
613
|
|
599
614
|
### 0.7.8 (2010-05-09)
|
600
615
|
|
@@ -611,7 +626,7 @@
|
|
611
626
|
client = Savon::Client.new "http://example.com/UserService?wsdl", :gzip => true
|
612
627
|
```
|
613
628
|
|
614
|
-
* Fix for [issue #51](https://github.com/
|
629
|
+
* Fix for [issue #51](https://github.com/savonrb/savon/issues/51). Added the :soap_endpoint option to
|
615
630
|
`Savon::Client.new` which lets you specify a SOAP endpoint per client instance:
|
616
631
|
|
617
632
|
``` ruby
|
@@ -619,7 +634,7 @@
|
|
619
634
|
:soap_endpoint => "http://localhost/UserService"
|
620
635
|
```
|
621
636
|
|
622
|
-
* Fix for [issue #50](https://github.com/
|
637
|
+
* Fix for [issue #50](https://github.com/savonrb/savon/issues/50). Savon still escapes special characters
|
623
638
|
in SOAP request Hash values, but you can now append an exclamation mark to Hash keys specifying that
|
624
639
|
it's value should not be escaped.
|
625
640
|
|
@@ -629,29 +644,29 @@
|
|
629
644
|
documentation combining examples and implementation (using Hanna) at: http://savon.rubiii.com
|
630
645
|
|
631
646
|
* Added `Savon::Client#call` as a workaround for dispatching calls to SOAP actions named after
|
632
|
-
existing methods. Fix for [issue #48](https://github.com/
|
647
|
+
existing methods. Fix for [issue #48](https://github.com/savonrb/savon/issues/48).
|
633
648
|
|
634
649
|
* Add support for specifying attributes for duplicate tags (via Hash values as Arrays).
|
635
|
-
Fix for [issue #45](https://github.com/
|
650
|
+
Fix for [issue #45](https://github.com/savonrb/savon/issues/45).
|
636
651
|
|
637
|
-
* Fix for [issue #41](https://github.com/
|
652
|
+
* Fix for [issue #41](https://github.com/savonrb/savon/issues/41).
|
638
653
|
|
639
|
-
* Fix for issues [#39](https://github.com/
|
654
|
+
* Fix for issues [#39](https://github.com/savonrb/savon/issues/39) and [#49](https://github.com/savonrb/savon/issues/49).
|
640
655
|
Added `Savon::SOAP#xml` which let's you specify completely custom SOAP request XML.
|
641
656
|
|
642
657
|
### 0.7.5 (2010-02-19)
|
643
658
|
|
644
|
-
* Fix for [issue #34](https://github.com/
|
659
|
+
* Fix for [issue #34](https://github.com/savonrb/savon/issues/34).
|
645
660
|
|
646
|
-
* Fix for [issue #36](https://github.com/
|
661
|
+
* Fix for [issue #36](https://github.com/savonrb/savon/issues/36).
|
647
662
|
|
648
|
-
* Added feature requested in [issue #35](https://github.com/
|
663
|
+
* Added feature requested in [issue #35](https://github.com/savonrb/savon/issues/35).
|
649
664
|
|
650
665
|
* Changed the key for specifying the order of tags from :@inorder to :order!
|
651
666
|
|
652
667
|
### 0.7.4 (2010-02-02)
|
653
668
|
|
654
|
-
* Fix for [issue #33](https://github.com/
|
669
|
+
* Fix for [issue #33](https://github.com/savonrb/savon/issues/33).
|
655
670
|
|
656
671
|
### 0.7.3 (2010-01-31)
|
657
672
|
|
@@ -662,40 +677,40 @@
|
|
662
677
|
|
663
678
|
* Avoid warning on 1.8.7 and 1.9.1 (Adrian Mugnolo <adrian@mugnolo.com>).
|
664
679
|
|
665
|
-
* Fix for [issue #29](https://github.com/
|
680
|
+
* Fix for [issue #29](https://github.com/savonrb/savon/issues/29).
|
666
681
|
Default to UTC to xs:dateTime value for WSSE authentication.
|
667
682
|
|
668
|
-
* Fix for [issue #28](https://github.com/
|
683
|
+
* Fix for [issue #28](https://github.com/savonrb/savon/issues/28).
|
669
684
|
|
670
|
-
* Fix for [issue #27](https://github.com/
|
685
|
+
* Fix for [issue #27](https://github.com/savonrb/savon/issues/27). The Content-Type now defaults to UTF-8.
|
671
686
|
|
672
687
|
* Modification to allow assignment of an Array with an input name and an optional Hash of values to soap.input.
|
673
|
-
Patches [issue #30](https://github.com/
|
688
|
+
Patches [issue #30](https://github.com/savonrb/savon/issues/30) (stanleydrew <andrewmbenton@gmail.com>).
|
674
689
|
|
675
|
-
* Fix for [issue #25](https://github.com/
|
690
|
+
* Fix for [issue #25](https://github.com/savonrb/savon/issues/25).
|
676
691
|
|
677
692
|
### 0.7.2 (2010-01-17)
|
678
693
|
|
679
694
|
* Exposed the `Net::HTTP` response (added by Kevin Ingolfsland). Use the `http` accessor (`response.http`)
|
680
695
|
on your `Savon::Response` to access the `Net::HTTP` response object.
|
681
696
|
|
682
|
-
* Fix for [issue #21](https://github.com/
|
697
|
+
* Fix for [issue #21](https://github.com/savonrb/savon/issues/21).
|
683
698
|
|
684
|
-
* Fix for [issue #22](https://github.com/
|
699
|
+
* Fix for [issue #22](https://github.com/savonrb/savon/issues/22).
|
685
700
|
|
686
|
-
* Fix for [issue #19](https://github.com/
|
701
|
+
* Fix for [issue #19](https://github.com/savonrb/savon/issues/19).
|
687
702
|
|
688
|
-
* Added support for global header and namespaces. See [issue #9](https://github.com/
|
703
|
+
* Added support for global header and namespaces. See [issue #9](https://github.com/savonrb/savon/issues/9).
|
689
704
|
|
690
705
|
### 0.7.1 (2010-01-10)
|
691
706
|
|
692
707
|
* The Hash of HTTP headers for SOAP calls is now public via `Savon::Request#headers`.
|
693
|
-
Patch for [issue #8](https://github.com/
|
708
|
+
Patch for [issue #8](https://github.com/savonrb/savon/issues/8).
|
694
709
|
|
695
710
|
### 0.7.0 (2010-01-09)
|
696
711
|
|
697
712
|
This version comes with several changes to the public API!
|
698
|
-
Pay attention to the following list and read the updated Wiki: http://wiki.github.com/
|
713
|
+
Pay attention to the following list and read the updated Wiki: http://wiki.github.com/savonrb/savon
|
699
714
|
|
700
715
|
* Changed how `Savon::WSDL` can be disabled. Instead of disabling the WSDL globally/per request via two
|
701
716
|
different methods, you now simply append an exclamation mark (!) to your SOAP call: `client.get_all_users!`
|
@@ -742,7 +757,7 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
|
|
742
757
|
|
743
758
|
* `Savon::Response#to_hash` now returns the content inside of "soap:Body" instead of trying to go one
|
744
759
|
level deeper and return it's content. The previous implementation only worked when the "soap:Body" element
|
745
|
-
contained a single child. See [issue #17](https://github.com/
|
760
|
+
contained a single child. See [issue #17](https://github.com/savonrb/savon/issues/17).
|
746
761
|
|
747
762
|
* Added `Savon::SOAP#namespace` as a shortcut for setting the "xmlns:wsdl" namespace.
|
748
763
|
|
@@ -775,7 +790,7 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
|
|
775
790
|
* Implemented support for SSL client authentication. Settings can be set through an optional Hash of arguments
|
776
791
|
passed to instantiating `Savon::Client` (colonhyphenp)
|
777
792
|
|
778
|
-
* Patch for [issue #10](https://github.com/
|
793
|
+
* Patch for [issue #10](https://github.com/savonrb/savon/issues/10).
|
779
794
|
|
780
795
|
### 0.6.6 (2009-12-14)
|
781
796
|
|
@@ -849,11 +864,11 @@ Pay attention to the following list and read the updated Wiki: http://wiki.githu
|
|
849
864
|
|
850
865
|
### 0.5.3 (2009-11-30)
|
851
866
|
|
852
|
-
* Patch for [issue #2](https://github.com/
|
867
|
+
* Patch for [issue #2](https://github.com/savonrb/savon/issues/2).
|
853
868
|
|
854
869
|
### 0.5.2 (2009-11-30)
|
855
870
|
|
856
|
-
* Patch for [issue #1](https://github.com/
|
871
|
+
* Patch for [issue #1](https://github.com/savonrb/savon/issues/1).
|
857
872
|
|
858
873
|
### 0.5.1 (2009-11-29)
|
859
874
|
|