savon-xaop 0.7.2.4 → 0.7.2.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/savon/response.rb +7 -3
- data/lib/savon/wsdl.rb +1 -0
- data/lib/savon.rb +10 -1
- metadata +3 -3
data/lib/savon/response.rb
CHANGED
@@ -35,9 +35,12 @@ module Savon
|
|
35
35
|
def soap_fault?
|
36
36
|
@soap_fault ? true : false
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
# Returns the SOAP fault message.
|
40
40
|
attr_reader :soap_fault
|
41
|
+
|
42
|
+
# Returns the SOAP error code
|
43
|
+
attr_reader :soap_error_code
|
41
44
|
|
42
45
|
# Returns whether there was an HTTP error.
|
43
46
|
def http_error?
|
@@ -59,7 +62,7 @@ module Savon
|
|
59
62
|
|
60
63
|
# Returns the HTTP response object.
|
61
64
|
attr_reader :http
|
62
|
-
|
65
|
+
|
63
66
|
alias :to_s :to_xml
|
64
67
|
|
65
68
|
private
|
@@ -69,7 +72,8 @@ module Savon
|
|
69
72
|
def handle_soap_fault
|
70
73
|
if soap_fault_message
|
71
74
|
@soap_fault = soap_fault_message
|
72
|
-
|
75
|
+
@soap_error_code = Integer(((to_hash[:fault] || {})[:detail] || {})[:errorcode])
|
76
|
+
raise Savon::SOAPFault.new(@soap_fault, @soap_error_code) if self.class.raise_errors?
|
73
77
|
end
|
74
78
|
end
|
75
79
|
|
data/lib/savon/wsdl.rb
CHANGED
@@ -91,6 +91,7 @@ module Savon
|
|
91
91
|
|
92
92
|
@section = tag.to_sym if @depth <= 2 && Sections.include?(tag)
|
93
93
|
@namespace_uri ||= attrs["targetNamespace"] if @section == :definitions
|
94
|
+
|
94
95
|
@soap_endpoint ||= URI(URI.escape(attrs["location"])) if @section == :service && tag == "address"
|
95
96
|
|
96
97
|
operation_from tag, attrs if @section == :binding && tag == "operation"
|
data/lib/savon.rb
CHANGED
@@ -13,7 +13,16 @@ module Savon
|
|
13
13
|
class HTTPError < StandardError; end
|
14
14
|
|
15
15
|
# Raised in case of a SOAP fault.
|
16
|
-
class SOAPFault < StandardError
|
16
|
+
class SOAPFault < StandardError
|
17
|
+
|
18
|
+
attr_reader :error_code
|
19
|
+
|
20
|
+
def initialize(message, error_code)
|
21
|
+
super(message)
|
22
|
+
@error_code = error_code
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
17
26
|
|
18
27
|
end
|
19
28
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: savon-xaop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 117
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 7
|
9
9
|
- 2
|
10
|
-
-
|
11
|
-
version: 0.7.2.
|
10
|
+
- 5
|
11
|
+
version: 0.7.2.5
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Daniel Harrington
|