-
Notifications
You must be signed in to change notification settings - Fork 616
/
CHANGELOG
139 lines (114 loc) · 7.53 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
== 0.7.4 (2010-02-02)
* Fix for issue #33 (undefined method 'start_with?').
== 0.7.3 (2010-01-31)
* Added support for Geotrust-style WSDL documents (Julian Kornberger <github.corny@digineo.de>).
* Make HTTP requests include path and query only. This was breaking requests via proxy as scheme and host
were repeated (Adrian Mugnolo <adrian@mugnolo.com>)
* Avoid warning on 1.8.7 and 1.9.1 (Adrian Mugnolo <adrian@mugnolo.com>).
* Fix for issue #29 (WSSE Created Bug?). Default to UTC to xs:dateTime value for WSSE authentication.
* Fix for issue #28 (Undefined Method ssl? on URI::Generic).
* Fix for issue #27 (http content-type defaults to utf-8). The Content-Type now defaults to UTF-8.
* Modification to allow assignment of an Array with an input name and an optional Hash of values to soap.input.
Patches issue #30 (stanleydrew <andrewmbenton@gmail.com>).
* Fix for issue #25 (header-tag should not be sent if not set).
== 0.7.2 (2010-01-17)
* Exposed the Net::HTTP response (added by Kevin Ingolfsland). Use the "http" accessor (response.http) on your
Savon::Response to access the Net::HTTP response object.
* Fix for issue #21 (savon is stripping ?SOAP off the end of WSDL locations).
* Fix for issue #22 (REXML::ParseException parsing 401 Unauthorized response body).
* Fix for issue #19 (Unable to set attribute in name-spaced WSSE password element).
* Added support for global header and namespaces. See issue #9 (Setting headers and namespaces).
== 0.7.1 (2010-01-10)
* The Hash of HTTP headers for SOAP calls is now public via Savon::Request#headers.
Patch for: http://github.com/rubiii/savon/issues/#issue/8
== 0.7.0 (2010-01-09)
This version comes with several changes to the public API!
Pay attention to the following list and read the updated Wiki: http://wiki.github.com/rubiii/savon
* Changed how Savon::WSDL can be disabled. Instead of disabling the WSDL globally/per request via two
different methods, you now simply append an exclamation mark (!) to your SOAP call: client.get_all_users!
Make sure you know what you're doing because when the WSDL is disabled, Savon does not know about which
SOAP actions are valid and just dispatches everything.
* The Net::HTTP object used by Savon::Request to retrieve WSDL documents and execute SOAP calls is now public.
While this makes the library even more flexible, it also comes with two major changes:
* SSL client authentication needs to be defined directly on the Net::HTTP object:
client.request.http.client_cert = ...
I added a shortcut method for setting all options through a Hash similar to the previous implementation:
client.request.http.ssl_client_auth :client_cert => ...
* Open and read timeouts also need to be set on the Net::HTTP object:
client.request.http.open_timeout = 30
client.request.http.read_timeout = 30
* Please refer to the Net::HTTP documentation for more details:
http://www.ruby-doc.org/stdlib/libdoc/net/http/rdoc/index.html
* Thanks to JulianMorrison, Savon now supports HTTP basic authentication:
client.request.http.basic_auth "username", "password"
* Julian also added a way to explicitly specify the order of Hash keys and values, so you should now be able
to work with services requiring a specific order of input parameters while still using Hash input.
For example: client.find_user { |soap| soap.body = { :name => "Lucy", :id => 666, :@inorder => [:id, :name] } }
* Savon::Response#to_hash now returns the content inside of "soap:Body" instead of trying to go one level
deeper and return it's content. The previous implementation only worked when the "soap:Body" element
contained a single child. See: http://github.com/rubiii/savon/issues#issue/17
* Added Savon::SOAP#namespace as a shortcut for setting the "xmlns:wsdl" namespace.
Usage example: soap.namespace = "http://example.com"
== 0.6.8 (2010-01-01)
* Improved specifications for various kinds of WSDL documents.
* Added support for SOAP endpoints which are different than the WSDL endpoint of a service.
* Changed how SOAP actions and inputs are retrieved from the WSDL documents. This might break a few existing
implementations, but makes Savon work well with even more services. If this change breaks your implementation,
please take a look at the +action+ and +input+ methods of the Savon::SOAP object.
One specific problem I know of is working with the createsend WSDL and its namespaced actions.
To make it work, call the SOAP action without namespace and specify the input manually:
client.get_api_key { |soap| soap.input = "User.GetApiKey" }
== 0.6.7 (2009-12-18)
* Implemented support for a proxy server. The proxy URI can be set through an optional Hash of options passed
to instantiating Savon::Client (Dave Woodward <dave@futuremint.com>)
* Implemented support for SSL client authentication. Settings can be set through an optional Hash of arguments
passed to instantiating Savon::Client (colonhyphenp)
* Patch for issue #10 (Problem with operation tags without a namespace).
== 0.6.6 (2009-12-14)
* Default to use the name of the SOAP action (the method called in a client) in lowerCamelCase for SOAP action
and input when Savon::WSDL is disabled. You still need to specify soap.action and maybe soap.input in case
your SOAP actions are named any different.
== 0.6.5 (2009-12-13)
* Added an open_timeout method to Savon::Request.
== 0.6.4 (2009-12-13)
* Refactored specs to be less unit-like.
* Added a getter for the Savon::Request to Savon::Client and a read_timeout setter for HTTP requests.
* wsdl.soap_actions now returns an Array of SOAP actions. For the previous "mapping" please use wsdl.operations.
* Replaced WSDL document with stream parsing.
Benchmarks (1000 SOAP calls):
user system total real
0.6.4 72.180000 8.280000 80.460000 (750.799011)
0.6.3 192.900000 19.630000 212.530000 (914.031865)
== 0.6.3 (2009-12-11)
* Removing 2 ruby deprecation warnings for parenthesized arguments. (Dave Woodward <dave@futuremint.com>)
* Added global and per request options for disabling Savon::WSDL.
Benchmarks (1000 SOAP calls):
user system total real
WSDL 192.900000 19.630000 212.530000 (914.031865)
disabled WSDL 5.680000 1.340000 7.020000 (298.265318)
* Improved XPath expressions for parsing the WSDL document.
Benchmarks (1000 SOAP calls):
user system total real
0.6.3 192.900000 19.630000 212.530000 (914.031865)
0.6.2 574.720000 78.380000 653.100000 (1387.778539)
== 0.6.2 (2009-12-06)
* Added support for changing the name of the SOAP input node.
* Added a CHANGELOG.
== 0.6.1 (2009-12-06)
* Fixed a problem with WSSE credentials, where every request contained a WSSE authentication header.
== 0.6.0 (2009-12-06)
* method_missing now yields the SOAP and WSSE objects to a given block.
* The response_process (which previously was a block passed to method_missing) was replaced by Savon::Response.
* Improved SOAP action handling (another problem that came up with issue #1).
== 0.5.3 (2009-11-30)
* Patch for issue #2 (NoMethodError: undefined method `invalid!' for Savon::WSDL)
== 0.5.2 (2009-11-30)
* Patch for issue #1 (Calls fail if api methods have periods in them)
== 0.5.1 (2009-11-29)
* Optimized default response process.
* Added WSSE settings via defaults.
* Added SOAP fault and HTTP error handling.
* Improved documentation
* Added specs
== 0.5.0 (2009-11-29)
* Complete rewrite.