savon 1.2.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|