savon 2.10.0 → 2.10.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/NotificationBroker.wsdl +126 -0
- data/lib/savon/builder.rb +1 -1
- data/lib/savon/message.rb +4 -2
- data/lib/savon/options.rb +7 -0
- data/lib/savon/version.rb +1 -1
- data/test.rb +64 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18f0b7e0ce70c3e4875a47aec303544e0bddd385
|
4
|
+
data.tar.gz: baff63ce5ef87a00e0b3737c69a31f86fdfa1694
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45cdba7801e11d255ebf71aa73a7fc8f56249b9a4e58362957326b99e1fedc7b6ef53c1ed543228626d56316fedfc94c151e6596cd09b84d832ab0834f5500de
|
7
|
+
data.tar.gz: 1f8fdf10425799438c3be1619311360406756ffad3aa22007196227050f766ad2b021abbbc6a457e845c5e05ef157ab89c623612639189ff11d5db3bc16f0073
|
data/CHANGELOG.md
CHANGED
@@ -0,0 +1,126 @@
|
|
1
|
+
<?xml version='1.0' encoding='UTF-8'?>
|
2
|
+
<wsdl:definitions name="NotificationBrokerService"
|
3
|
+
targetNamespace="http://docs.oasis-open.org/wsn/brw-2"
|
4
|
+
xmlns:tns="http://docs.oasis-open.org/wsn/brw-2"
|
5
|
+
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
6
|
+
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
|
7
|
+
xmlns:ns1="http://docs.oasis-open.org/wsn/brw-2">
|
8
|
+
|
9
|
+
<wsdl:import namespace="http://docs.oasis-open.org/wsn/brw-2" location="http://docs.oasis-open.org/wsn/brw-2.wsdl"/>
|
10
|
+
|
11
|
+
<wsdl:binding name="NotificationBrokerSoapBinding" type="ns1:NotificationBroker">
|
12
|
+
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
13
|
+
<wsdl:operation name="Notify">
|
14
|
+
<soap12:operation soapAction="" soapActionRequired="false" style="document"/>
|
15
|
+
<wsdl:input name="Notify">
|
16
|
+
<soap12:body use="literal"/>
|
17
|
+
</wsdl:input>
|
18
|
+
</wsdl:operation>
|
19
|
+
<wsdl:operation name="GetCurrentMessage">
|
20
|
+
<soap12:operation soapAction="" soapActionRequired="false" style="document"/>
|
21
|
+
<wsdl:input name="GetCurrentMessageRequest">
|
22
|
+
<soap12:body use="literal"/>
|
23
|
+
</wsdl:input>
|
24
|
+
<wsdl:output name="GetCurrentMessageResponse">
|
25
|
+
<soap12:body use="literal"/>
|
26
|
+
</wsdl:output>
|
27
|
+
<wsdl:fault name="TopicNotSupportedFault">
|
28
|
+
<soap12:fault name="TopicNotSupportedFault" use="literal"/>
|
29
|
+
</wsdl:fault>
|
30
|
+
<wsdl:fault name="TopicExpressionDialectUnknownFault">
|
31
|
+
<soap12:fault name="TopicExpressionDialectUnknownFault" use="literal"/>
|
32
|
+
</wsdl:fault>
|
33
|
+
<wsdl:fault name="MultipleTopicsSpecifiedFault">
|
34
|
+
<soap12:fault name="MultipleTopicsSpecifiedFault" use="literal"/>
|
35
|
+
</wsdl:fault>
|
36
|
+
<wsdl:fault name="InvalidTopicExpressionFault">
|
37
|
+
<soap12:fault name="InvalidTopicExpressionFault" use="literal"/>
|
38
|
+
</wsdl:fault>
|
39
|
+
<wsdl:fault name="ResourceUnknownFault">
|
40
|
+
<soap12:fault name="ResourceUnknownFault" use="literal"/>
|
41
|
+
</wsdl:fault>
|
42
|
+
<wsdl:fault name="NoCurrentMessageOnTopicFault">
|
43
|
+
<soap12:fault name="NoCurrentMessageOnTopicFault" use="literal"/>
|
44
|
+
</wsdl:fault>
|
45
|
+
</wsdl:operation>
|
46
|
+
<wsdl:operation name="RegisterPublisher">
|
47
|
+
<soap12:operation soapAction="" soapActionRequired="false" style="document"/>
|
48
|
+
<wsdl:input name="RegisterPublisherRequest">
|
49
|
+
<soap12:body use="literal"/>
|
50
|
+
</wsdl:input>
|
51
|
+
<wsdl:output name="RegisterPublisherResponse">
|
52
|
+
<soap12:body use="literal"/>
|
53
|
+
</wsdl:output>
|
54
|
+
<wsdl:fault name="TopicNotSupportedFault">
|
55
|
+
<soap12:fault name="TopicNotSupportedFault" use="literal"/>
|
56
|
+
</wsdl:fault>
|
57
|
+
<wsdl:fault name="PublisherRegistrationFailedFault">
|
58
|
+
<soap12:fault name="PublisherRegistrationFailedFault" use="literal"/>
|
59
|
+
</wsdl:fault>
|
60
|
+
<wsdl:fault name="UnacceptableInitialTerminationTimeFault">
|
61
|
+
<soap12:fault name="UnacceptableInitialTerminationTimeFault" use="literal"/>
|
62
|
+
</wsdl:fault>
|
63
|
+
<wsdl:fault name="InvalidTopicExpressionFault">
|
64
|
+
<soap12:fault name="InvalidTopicExpressionFault" use="literal"/>
|
65
|
+
</wsdl:fault>
|
66
|
+
<wsdl:fault name="ResourceUnknownFault">
|
67
|
+
<soap12:fault name="ResourceUnknownFault" use="literal"/>
|
68
|
+
</wsdl:fault>
|
69
|
+
<wsdl:fault name="PublisherRegistrationRejectedFault">
|
70
|
+
<soap12:fault name="PublisherRegistrationRejectedFault" use="literal"/>
|
71
|
+
</wsdl:fault>
|
72
|
+
</wsdl:operation>
|
73
|
+
<wsdl:operation name="Subscribe">
|
74
|
+
<soap12:operation soapAction="" soapActionRequired="false" style="document"/>
|
75
|
+
<wsdl:input name="SubscribeRequest">
|
76
|
+
<soap12:body use="literal"/>
|
77
|
+
</wsdl:input>
|
78
|
+
<wsdl:output name="SubscribeResponse">
|
79
|
+
<soap12:body use="literal"/>
|
80
|
+
</wsdl:output>
|
81
|
+
<wsdl:fault name="TopicNotSupportedFault">
|
82
|
+
<soap12:fault name="TopicNotSupportedFault" use="literal"/>
|
83
|
+
</wsdl:fault>
|
84
|
+
<wsdl:fault name="InvalidFilterFault">
|
85
|
+
<soap12:fault name="InvalidFilterFault" use="literal"/>
|
86
|
+
</wsdl:fault>
|
87
|
+
<wsdl:fault name="TopicExpressionDialectUnknownFault">
|
88
|
+
<soap12:fault name="TopicExpressionDialectUnknownFault" use="literal"/>
|
89
|
+
</wsdl:fault>
|
90
|
+
<wsdl:fault name="UnacceptableInitialTerminationTimeFault">
|
91
|
+
<soap12:fault name="UnacceptableInitialTerminationTimeFault" use="literal"/>
|
92
|
+
</wsdl:fault>
|
93
|
+
<wsdl:fault name="SubscribeCreationFailedFault">
|
94
|
+
<soap12:fault name="SubscribeCreationFailedFault" use="literal"/>
|
95
|
+
</wsdl:fault>
|
96
|
+
<wsdl:fault name="InvalidMessageContentExpressionFault">
|
97
|
+
<soap12:fault name="InvalidMessageContentExpressionFault" use="literal"/>
|
98
|
+
</wsdl:fault>
|
99
|
+
<wsdl:fault name="InvalidTopicExpressionFault">
|
100
|
+
<soap12:fault name="InvalidTopicExpressionFault" use="literal"/>
|
101
|
+
</wsdl:fault>
|
102
|
+
<wsdl:fault name="UnrecognizedPolicyRequestFault">
|
103
|
+
<soap12:fault name="UnrecognizedPolicyRequestFault" use="literal"/>
|
104
|
+
</wsdl:fault>
|
105
|
+
<wsdl:fault name="ResourceUnknownFault">
|
106
|
+
<soap12:fault name="ResourceUnknownFault" use="literal"/>
|
107
|
+
</wsdl:fault>
|
108
|
+
<wsdl:fault name="UnsupportedPolicyRequestFault">
|
109
|
+
<soap12:fault name="UnsupportedPolicyRequestFault" use="literal"/>
|
110
|
+
</wsdl:fault>
|
111
|
+
<wsdl:fault name="NotifyMessageNotSupportedFault">
|
112
|
+
<soap12:fault name="NotifyMessageNotSupportedFault" use="literal"/>
|
113
|
+
</wsdl:fault>
|
114
|
+
<wsdl:fault name="InvalidProducerPropertiesExpressionFault">
|
115
|
+
<soap12:fault name="InvalidProducerPropertiesExpressionFault" use="literal"/>
|
116
|
+
</wsdl:fault>
|
117
|
+
</wsdl:operation>
|
118
|
+
</wsdl:binding>
|
119
|
+
|
120
|
+
<wsdl:service name="NotificationBrokerService">
|
121
|
+
<wsdl:port binding="tns:NotificationBrokerSoapBinding" name="NotificationBrokerPort">
|
122
|
+
<soap12:address location="http://192.70.89.113:9000/wsn/NotificationBroker"/>
|
123
|
+
</wsdl:port>
|
124
|
+
</wsdl:service>
|
125
|
+
|
126
|
+
</wsdl:definitions>
|
data/lib/savon/builder.rb
CHANGED
@@ -166,7 +166,7 @@ module Savon
|
|
166
166
|
element_form_default = @globals[:element_form_default] || @wsdl.element_form_default
|
167
167
|
# TODO: clean this up! [dh, 2012-12-17]
|
168
168
|
Message.new(message_tag, namespace_identifier, @types, @used_namespaces, @locals[:message],
|
169
|
-
element_form_default, @globals[:convert_request_keys_to])
|
169
|
+
element_form_default, @globals[:convert_request_keys_to], @globals[:unwrap])
|
170
170
|
end
|
171
171
|
|
172
172
|
def namespace_identifier
|
data/lib/savon/message.rb
CHANGED
@@ -4,7 +4,7 @@ require "gyoku"
|
|
4
4
|
module Savon
|
5
5
|
class Message
|
6
6
|
|
7
|
-
def initialize(message_tag, namespace_identifier, types, used_namespaces, message, element_form_default, key_converter)
|
7
|
+
def initialize(message_tag, namespace_identifier, types, used_namespaces, message, element_form_default, key_converter, unwrap)
|
8
8
|
@message_tag = message_tag
|
9
9
|
@namespace_identifier = namespace_identifier
|
10
10
|
@types = types
|
@@ -13,6 +13,7 @@ module Savon
|
|
13
13
|
@message = message
|
14
14
|
@element_form_default = element_form_default
|
15
15
|
@key_converter = key_converter
|
16
|
+
@unwrap = unwrap
|
16
17
|
end
|
17
18
|
|
18
19
|
def to_s
|
@@ -25,7 +26,8 @@ module Savon
|
|
25
26
|
gyoku_options = {
|
26
27
|
:element_form_default => @element_form_default,
|
27
28
|
:namespace => @namespace_identifier,
|
28
|
-
:key_converter => @key_converter
|
29
|
+
:key_converter => @key_converter,
|
30
|
+
:unwrap => @unwrap
|
29
31
|
}
|
30
32
|
|
31
33
|
Gyoku.xml(@message, gyoku_options)
|
data/lib/savon/options.rb
CHANGED
@@ -89,6 +89,7 @@ module Savon
|
|
89
89
|
:use_wsa_headers => false,
|
90
90
|
:no_message_tag => false,
|
91
91
|
:follow_redirects => false,
|
92
|
+
:unwrap => false
|
92
93
|
}
|
93
94
|
|
94
95
|
options = defaults.merge(options)
|
@@ -287,6 +288,12 @@ module Savon
|
|
287
288
|
@options[:convert_request_keys_to] = converter
|
288
289
|
end
|
289
290
|
|
291
|
+
# Tell Gyoku to unwrap Array of Hashes
|
292
|
+
# Accepts a boolean, default to false
|
293
|
+
def unwrap(unwrap)
|
294
|
+
@options[:unwrap] = unwrap
|
295
|
+
end
|
296
|
+
|
290
297
|
# Tell Nori how to convert XML tags from the SOAP response into Hash keys.
|
291
298
|
# Accepts a lambda or a block which receives an XML tag and returns a Hash key.
|
292
299
|
# Defaults to convert tags to snakecase Symbols.
|
data/lib/savon/version.rb
CHANGED
data/test.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'savon'
|
2
|
+
|
3
|
+
class MyConfig
|
4
|
+
def wsdl; "NotificationBroker.wsdl"; end
|
5
|
+
def base; "base"; end
|
6
|
+
end
|
7
|
+
|
8
|
+
|
9
|
+
# Main module
|
10
|
+
module Surv
|
11
|
+
class Client
|
12
|
+
attr_accessor :topics
|
13
|
+
attr_reader :client, :config
|
14
|
+
|
15
|
+
def initialize(config)
|
16
|
+
@topics = Hash.new
|
17
|
+
|
18
|
+
#$stderr.puts("Entry point is #{config.proto}://#{config.site}:#{config.port}/#{config.entry}.")
|
19
|
+
|
20
|
+
client = Savon.client(wsdl: config.wsdl,
|
21
|
+
strip_namespaces: false,
|
22
|
+
log_level: :info,
|
23
|
+
convert_request_keys_to: :camelcase,
|
24
|
+
#pretty_print_xml: true,
|
25
|
+
)
|
26
|
+
|
27
|
+
#$stderr.puts("Entry point: #{client.wsdl.endpoint}")
|
28
|
+
$stderr.puts("Init done.")
|
29
|
+
$stderr.puts("Available methods: #{client.operations}")
|
30
|
+
@client = client
|
31
|
+
@config = config
|
32
|
+
end
|
33
|
+
|
34
|
+
def subscribe(topic, callback="callback")
|
35
|
+
my_topic = "#{@config.base}/#{callback}"
|
36
|
+
message = {
|
37
|
+
ConsumerReference: {
|
38
|
+
Address: my_topic,
|
39
|
+
},
|
40
|
+
Filter: {
|
41
|
+
TopicExpression: topic,
|
42
|
+
},
|
43
|
+
}
|
44
|
+
|
45
|
+
$stderr.puts(message)
|
46
|
+
$stderr.puts(" Subscribing #{my_topic} for #{topic}")
|
47
|
+
|
48
|
+
# @topics[callback] = Topic.new(callback)
|
49
|
+
# @topics[callback].bytes = 0
|
50
|
+
# @topics[callback].pkts = 0
|
51
|
+
|
52
|
+
begin
|
53
|
+
resp = client.call(:subscribe, message: message)
|
54
|
+
rescue Savon::Error => error
|
55
|
+
$stderr.puts("Error: #{error.http.code} #{error}")
|
56
|
+
else
|
57
|
+
puts "ZOMG request was successful??? #{resp}"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
Surv::Client.new(MyConfig.new).subscribe('AsterixJSONGzipped')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: savon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.10.
|
4
|
+
version: 2.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Harrington
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nori
|
@@ -219,6 +219,7 @@ files:
|
|
219
219
|
- CONTRIBUTING.md
|
220
220
|
- Gemfile
|
221
221
|
- LICENSE
|
222
|
+
- NotificationBroker.wsdl
|
222
223
|
- README.md
|
223
224
|
- Rakefile
|
224
225
|
- donate.png
|
@@ -303,6 +304,7 @@ files:
|
|
303
304
|
- spec/support/fixture.rb
|
304
305
|
- spec/support/integration.rb
|
305
306
|
- spec/support/stdout.rb
|
307
|
+
- test.rb
|
306
308
|
homepage: http://savonrb.com
|
307
309
|
licenses:
|
308
310
|
- MIT
|