savon 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -114,6 +114,20 @@ describe "Savon's mock interface" do
114
114
  " with this message: #{message.inspect}")
115
115
  end
116
116
 
117
+ it "does not fail when any message is expected and an actual message" do
118
+ savon.expects(:find_user).with(:message => :any).returns("<fixture/>")
119
+ message = { :username => "luke" }
120
+
121
+ expect { new_client.call(:find_user, :message => message) }.to_not raise_error
122
+ end
123
+
124
+ it "does not fail when any message is expected and no actual message" do
125
+ savon.expects(:find_user).with(:message => :any).returns("<fixture/>")
126
+
127
+ expect { new_client.call(:find_user) }.to_not raise_error
128
+ end
129
+
130
+
117
131
  it "allows code to rescue Savon::Error and still report test failures" do
118
132
  message = { :username => "luke" }
119
133
  savon.expects(:find_user).with(:message => message).returns("<fixture/>")
@@ -77,7 +77,7 @@ describe Savon::Operation do
77
77
 
78
78
  # stub the actual request
79
79
  http_response = HTTPI::Response.new(200, {}, "")
80
- operation.expects(:call!).returns(http_response)
80
+ operation.expects(:call_with_logging).returns(http_response)
81
81
 
82
82
  operation.call
83
83
  end
@@ -90,7 +90,7 @@ describe Savon::Operation do
90
90
 
91
91
  # stub the actual request
92
92
  http_response = HTTPI::Response.new(200, {}, "")
93
- operation.expects(:call!).returns(http_response)
93
+ operation.expects(:call_with_logging).returns(http_response)
94
94
 
95
95
  operation.call
96
96
  end
@@ -154,11 +154,58 @@ describe Savon::Operation do
154
154
  actual_soap_action = inspect_request(response).soap_action
155
155
  expect(actual_soap_action).to eq(%("authenticate"))
156
156
  end
157
+
158
+ it "returns a Savon::Multipart::Response if available and requested globally" do
159
+ globals.multipart true
160
+
161
+ with_multipart_mocked do
162
+ operation = new_operation(:authenticate, no_wsdl, globals)
163
+ response = operation.call
164
+
165
+ expect(response).to be_a(Savon::Multipart::Response)
166
+ end
167
+ end
168
+
169
+ it "returns a Savon::Multipart::Response if available and requested locally" do
170
+ with_multipart_mocked do
171
+ operation = new_operation(:authenticate, no_wsdl, globals)
172
+ response = operation.call(:multipart => true)
173
+
174
+ expect(response).to be_a(Savon::Multipart::Response)
175
+ end
176
+ end
177
+
178
+ it "raises if savon-multipart is not available and it was requested globally" do
179
+ globals.multipart true
180
+
181
+ operation = new_operation(:authenticate, no_wsdl, globals)
182
+
183
+ expect { operation.call }.
184
+ to raise_error RuntimeError, /Unable to find Savon::Multipart/
185
+ end
186
+
187
+ it "raises if savon-multipart is not available and it was requested locally" do
188
+ operation = new_operation(:authenticate, no_wsdl, globals)
189
+
190
+ expect { operation.call(:multipart => true) }.
191
+ to raise_error RuntimeError, /Unable to find Savon::Multipart/
192
+ end
193
+ end
194
+
195
+ def with_multipart_mocked
196
+ multipart_response = Class.new { def initialize(*args); end }
197
+ multipart_mock = Module.new
198
+ multipart_mock.const_set('Response', multipart_response)
199
+
200
+ Savon.const_set('Multipart', multipart_mock)
201
+
202
+ yield
203
+ ensure
204
+ Savon.send(:remove_const, :Multipart) if Savon.const_defined? :Multipart
157
205
  end
158
206
 
159
207
  def inspect_request(response)
160
208
  hash = JSON.parse(response.http.body)
161
209
  OpenStruct.new(hash)
162
210
  end
163
-
164
211
  end
@@ -80,7 +80,7 @@ describe "Options" do
80
80
 
81
81
  context "global :open_timeout" do
82
82
  it "makes the client timeout after n seconds" do
83
- non_routable_ip = "http://10.255.255.1"
83
+ non_routable_ip = "http://192.0.2.0"
84
84
  client = new_client(:endpoint => non_routable_ip, :open_timeout => 0.1)
85
85
 
86
86
  expect { client.call(:authenticate) }.to raise_error { |error|
@@ -125,10 +125,23 @@ describe "Options" do
125
125
  context "global :soap_header" do
126
126
  it "accepts a Hash of SOAP header information" do
127
127
  client = new_client(:endpoint => @server.url(:repeat), :soap_header => { :auth_token => "secret" })
128
-
129
128
  response = client.call(:authenticate)
129
+
130
130
  expect(response.http.body).to include("<env:Header><authToken>secret</authToken></env:Header>")
131
131
  end
132
+
133
+ it "accepts anything other than a String and calls #to_s on it" do
134
+ to_s_header = Class.new {
135
+ def to_s
136
+ "to_s_header"
137
+ end
138
+ }.new
139
+
140
+ client = new_client(:endpoint => @server.url(:repeat), :soap_header => to_s_header)
141
+ response = client.call(:authenticate)
142
+
143
+ expect(response.http.body).to include("<env:Header>to_s_header</env:Header>")
144
+ end
132
145
  end
133
146
 
134
147
  context "global :element_form_default" do
@@ -385,6 +398,19 @@ describe "Options" do
385
398
  end
386
399
  end
387
400
 
401
+ context "global :ntlm" do
402
+ it "sets the ntlm credentials to use" do
403
+ credentials = ["admin", "secret"]
404
+ client = new_client(:endpoint => @server.url, :ntlm => credentials)
405
+
406
+ # TODO: find a way to integration test this. including an entire ntlm
407
+ # server implementation seems a bit over the top though.
408
+ HTTPI::Auth::Config.any_instance.expects(:ntlm).with(*credentials)
409
+
410
+ response = client.call(:authenticate)
411
+ end
412
+ end
413
+
388
414
  context "global :filters" do
389
415
  it "filters a list of XML tags from logged SOAP messages" do
390
416
  silence_stdout do
@@ -507,11 +533,13 @@ describe "Options" do
507
533
 
508
534
  context "global :strip_namespaces" do
509
535
  it "can be changed to not strip any namespaces" do
510
- client = new_client(:endpoint => @server.url(:repeat), :convert_response_tags_to => lambda { |tag| tag.snakecase }, :strip_namespaces => false)
511
- response = client.call(:authenticate, :xml => Fixture.response(:authentication))
536
+ client = new_client(
537
+ :endpoint => @server.url(:repeat),
538
+ :convert_response_tags_to => lambda { |tag| tag.snakecase },
539
+ :strip_namespaces => false
540
+ )
512
541
 
513
- # the header/body convenience methods fails when conventions are not met. [dh, 2012-12-12]
514
- expect { response.body }.to raise_error(Savon::InvalidResponseError)
542
+ response = client.call(:authenticate, :xml => Fixture.response(:authentication))
515
543
 
516
544
  expect(response.hash["soap:envelope"]["soap:body"]).to include("ns2:authenticate_response")
517
545
  end
@@ -562,6 +590,63 @@ describe "Options" do
562
590
  end
563
591
  end
564
592
 
593
+ context "global and request :soap_header" do
594
+ it "merges the headers if both were provided as Hashes" do
595
+ global_soap_header = {
596
+ :global_header => { :auth_token => "secret" },
597
+ :merged => { :global => true }
598
+ }
599
+
600
+ request_soap_header = {
601
+ :request_header => { :auth_token => "secret" },
602
+ :merged => { :request => true }
603
+ }
604
+
605
+ client = new_client(:endpoint => @server.url(:repeat), :soap_header => global_soap_header)
606
+
607
+ response = client.call(:authenticate, :soap_header => request_soap_header)
608
+ request_body = response.http.body
609
+
610
+ expect(request_body).to include("<globalHeader><authToken>secret</authToken></globalHeader>")
611
+ expect(request_body).to include("<requestHeader><authToken>secret</authToken></requestHeader>")
612
+ expect(request_body).to include("<merged><request>true</request></merged>")
613
+ end
614
+
615
+ it "prefers the request over the global option if at least one of them is not a Hash" do
616
+ global_soap_header = "<global>header</global>"
617
+ request_soap_header = "<request>header</request>"
618
+
619
+ client = new_client(:endpoint => @server.url(:repeat), :soap_header => global_soap_header)
620
+
621
+ response = client.call(:authenticate, :soap_header => request_soap_header)
622
+ request_body = response.http.body
623
+
624
+ expect(request_body).to include("<env:Header><request>header</request></env:Header>")
625
+ end
626
+ end
627
+
628
+ context "request :soap_header" do
629
+ it "accepts a Hash of SOAP header information" do
630
+ client = new_client(:endpoint => @server.url(:repeat))
631
+
632
+ response = client.call(:authenticate, :soap_header => { :auth_token => "secret" })
633
+ expect(response.http.body).to include("<env:Header><authToken>secret</authToken></env:Header>")
634
+ end
635
+
636
+ it "accepts anything other than a String and calls #to_s on it" do
637
+ to_s_header = Class.new {
638
+ def to_s
639
+ "to_s_header"
640
+ end
641
+ }.new
642
+
643
+ client = new_client(:endpoint => @server.url(:repeat))
644
+
645
+ response = client.call(:authenticate, :soap_header => to_s_header)
646
+ expect(response.http.body).to include("<env:Header>to_s_header</env:Header>")
647
+ end
648
+ end
649
+
565
650
  context "request: message_tag" do
566
651
  it "when set, changes the SOAP message tag" do
567
652
  response = new_client(:endpoint => @server.url(:repeat)).call(:authenticate, :message_tag => :doAuthenticate)
@@ -207,6 +207,20 @@ describe Savon::WSDLRequest do
207
207
  new_wsdl_request.build
208
208
  end
209
209
  end
210
+
211
+ describe "ntlm auth" do
212
+ it "is set when specified" do
213
+ globals.ntlm("han", "super-secret")
214
+ http_request.auth.expects(:ntlm).with("han", "super-secret")
215
+
216
+ new_wsdl_request.build
217
+ end
218
+
219
+ it "is not set otherwise" do
220
+ http_request.auth.expects(:ntlm).never
221
+ new_wsdl_request.build
222
+ end
223
+ end
210
224
  end
211
225
 
212
226
  end
@@ -460,6 +474,20 @@ describe Savon::SOAPRequest do
460
474
  new_soap_request.build
461
475
  end
462
476
  end
477
+
478
+ describe "ntlm auth" do
479
+ it "is set when specified" do
480
+ globals.ntlm("han", "super-secret")
481
+ http_request.auth.expects(:ntlm).with("han", "super-secret")
482
+
483
+ new_soap_request.build
484
+ end
485
+
486
+ it "is not set otherwise" do
487
+ http_request.auth.expects(:ntlm).never
488
+ new_soap_request.build
489
+ end
490
+ end
463
491
  end
464
492
 
465
493
  end
@@ -12,7 +12,7 @@ describe Savon::Response do
12
12
 
13
13
  it "should not raise a Savon::Fault in case the default is turned off" do
14
14
  globals[:raise_errors] = false
15
- lambda { soap_fault_response }.should_not raise_error(Savon::SOAPFault)
15
+ lambda { soap_fault_response }.should_not raise_error
16
16
  end
17
17
 
18
18
  it "should raise a Savon::HTTP::Error in case of an HTTP error" do
@@ -53,6 +53,18 @@ describe Savon::Response do
53
53
  end
54
54
  end
55
55
 
56
+ describe "#soap_fault" do
57
+ before { globals[:raise_errors] = false }
58
+
59
+ it "should return nil in case the response seems to be ok" do
60
+ soap_response.soap_fault.should be_nil
61
+ end
62
+
63
+ it "should return a SOAPFault in case of a SOAP fault" do
64
+ soap_fault_response.soap_fault.should be_a(Savon::SOAPFault)
65
+ end
66
+ end
67
+
56
68
  describe "#http_error?" do
57
69
  before { globals[:raise_errors] = false }
58
70
 
@@ -65,12 +77,47 @@ describe Savon::Response do
65
77
  end
66
78
  end
67
79
 
80
+ describe "#http_error" do
81
+ before { globals[:raise_errors] = false }
82
+
83
+ it "should return nil in case the response seems to be ok" do
84
+ soap_response.http_error.should be_nil
85
+ end
86
+
87
+ it "should return a HTTPError in case of an HTTP error" do
88
+ soap_response(:code => 500).http_error.should be_a(Savon::HTTPError)
89
+ end
90
+ end
91
+
68
92
  describe "#header" do
69
93
  it "should return the SOAP response header as a Hash" do
70
94
  response = soap_response :body => Fixture.response(:header)
71
95
  response.header.should include(:session_number => "ABCD1234")
72
96
  end
73
97
 
98
+ it 'respects the global :strip_namespaces option' do
99
+ globals[:strip_namespaces] = false
100
+
101
+ response_with_header = soap_response(:body => Fixture.response(:header))
102
+ header = response_with_header.header
103
+
104
+ expect(header).to be_a(Hash)
105
+
106
+ # notice: :session_number is a snake_case Symbol without namespaces,
107
+ # but the Envelope and Header elements are qualified.
108
+ expect(header.keys).to include(:session_number)
109
+ end
110
+
111
+ it 'respects the global :convert_response_tags_to option' do
112
+ globals[:convert_response_tags_to] = lambda { |key| key.upcase }
113
+
114
+ response_with_header = soap_response(:body => Fixture.response(:header))
115
+ header = response_with_header.header
116
+
117
+ expect(header).to be_a(Hash)
118
+ expect(header.keys).to include('SESSIONNUMBER')
119
+ end
120
+
74
121
  it "should throw an exception when the response header isn't parsable" do
75
122
  lambda { invalid_soap_response.header }.should raise_error Savon::InvalidResponseError
76
123
  end
@@ -96,6 +143,24 @@ describe Savon::Response do
96
143
  hash[:multi_namespaced_entry_response][:history].should be_a(Hash)
97
144
  hash[:multi_namespaced_entry_response][:history][:case].should be_an(Array)
98
145
  end
146
+
147
+ it 'respects the global :strip_namespaces option' do
148
+ globals[:strip_namespaces] = false
149
+
150
+ body = soap_response.body
151
+
152
+ expect(body).to be_a(Hash)
153
+ expect(body.keys).to include(:"ns2:authenticate_response")
154
+ end
155
+
156
+ it 'respects the global :convert_response_tags_to option' do
157
+ globals[:convert_response_tags_to] = lambda { |key| key.upcase }
158
+
159
+ body = soap_response.body
160
+
161
+ expect(body).to be_a(Hash)
162
+ expect(body.keys).to include('AUTHENTICATERESPONSE')
163
+ end
99
164
  end
100
165
  end
101
166
 
@@ -151,6 +216,15 @@ describe Savon::Response do
151
216
  end
152
217
  end
153
218
 
219
+ describe '#find' do
220
+ it 'delegates to Nori#find to find child elements inside the Envelope' do
221
+ result = soap_response.find('Body', 'authenticateResponse', 'return')
222
+
223
+ expect(result).to be_a(Hash)
224
+ expect(result.keys).to include(:authentication_value)
225
+ end
226
+ end
227
+
154
228
  describe "#http" do
155
229
  it "should return the HTTPI::Response" do
156
230
  soap_response.http.should be_an(HTTPI::Response)
@@ -1,10 +1,13 @@
1
1
  require "bundler"
2
2
  Bundler.setup(:default, :development)
3
3
 
4
- if ENV["COVERAGE"]
4
+ unless RUBY_PLATFORM =~ /java/
5
5
  require "simplecov"
6
+ require "coveralls"
7
+
8
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
6
9
  SimpleCov.start do
7
- add_filter "/spec/"
10
+ add_filter "spec"
8
11
  end
9
12
  end
10
13
 
data/tags ADDED
@@ -0,0 +1,299 @@
1
+ !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
2
+ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
3
+ !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
4
+ !_TAG_PROGRAM_NAME Exuberant Ctags //
5
+ !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
6
+ !_TAG_PROGRAM_VERSION 5.8 //
7
+ << lib/savon/wsdl/document_collection.rb /^ def <<(document)$/;" f class:Savon.WSDL.DocumentCollection
8
+ << lib/savon/xs/schema_collection.rb /^ def <<(schema)$/;" f class:Savon.XS.SchemaCollection
9
+ All lib/savon/xs/types.rb /^ class All < BaseType; end$/;" c class:Savon.XS
10
+ Annotation lib/savon/xs/types.rb /^ class Annotation < BaseType$/;" c class:Savon.XS
11
+ AnyType lib/savon/xs/types.rb /^ class AnyType < BaseType; end$/;" c class:Savon.XS
12
+ Attribute lib/savon/attribute.rb /^ class Attribute$/;" c class:Savon
13
+ Attribute lib/savon/xs/types.rb /^ class Attribute < BaseType$/;" c class:Savon.XS
14
+ AttributeGroup lib/savon/xs/types.rb /^ class AttributeGroup < BaseType$/;" c class:Savon.XS
15
+ BaseType lib/savon/xs/types.rb /^ class BaseType$/;" c class:Savon.XS
16
+ Binding lib/savon/wsdl/binding.rb /^ class Binding$/;" c class:Savon.WSDL
17
+ BindingOperation lib/savon/wsdl/binding_operation.rb /^ class BindingOperation$/;" c class:Savon.WSDL
18
+ Choice lib/savon/xs/types.rb /^ class Choice < BaseType; end$/;" c class:Savon.XS
19
+ ComplexContent lib/savon/xs/types.rb /^ class ComplexContent < BaseType; end$/;" c class:Savon.XS
20
+ ComplexType lib/savon/xs/types.rb /^ class ComplexType < PrimaryType$/;" c class:Savon.XS
21
+ Document lib/savon/wsdl/document.rb /^ class Document$/;" c class:Savon.WSDL
22
+ DocumentCollection lib/savon/wsdl/document_collection.rb /^ class DocumentCollection$/;" c class:Savon.WSDL
23
+ Element lib/savon/element.rb /^ class Element$/;" c class:Savon
24
+ Element lib/savon/xs/types.rb /^ class Element < PrimaryType$/;" c class:Savon.XS
25
+ ElementBuilder lib/savon/element_builder.rb /^ class ElementBuilder$/;" c class:Savon
26
+ Enumeration lib/savon/xs/types.rb /^ class Enumeration < BaseType; end$/;" c class:Savon.XS
27
+ Envelope lib/savon/envelope.rb /^ class Envelope$/;" c class:Savon
28
+ ExampleMessage lib/savon/example_message.rb /^ class ExampleMessage$/;" c class:Savon
29
+ Extension lib/savon/xs/types.rb /^ class Extension < BaseType$/;" c class:Savon.XS
30
+ Fixture spec/support/fixture.rb /^ class Fixture$/;" c class:SpecSupport
31
+ HTTPClient lib/savon/httpclient.rb /^ class HTTPClient$/;" c class:Savon
32
+ HTTPMock spec/support/http_mock.rb /^ class HTTPMock$/;" c class:SpecSupport
33
+ Importer lib/savon/importer.rb /^ class Importer$/;" c class:Savon
34
+ Input lib/savon/wsdl/input_output.rb /^ class Input$/;" c class:Savon.WSDL
35
+ Message lib/savon/message.rb /^ class Message$/;" c class:Savon
36
+ Message lib/savon/wsdl/message.rb /^ class Message$/;" c class:Savon.WSDL
37
+ Operation lib/savon/operation.rb /^ class Operation$/;" c class:Savon
38
+ Operation lib/savon/wsdl/operation.rb /^ class Operation$/;" c class:Savon.WSDL
39
+ Output lib/savon/wsdl/input_output.rb /^ class Output < Input$/;" c class:Savon.WSDL
40
+ Port lib/savon/wsdl/port.rb /^ class Port$/;" c class:Savon.WSDL
41
+ PortType lib/savon/wsdl/port_type.rb /^ class PortType$/;" c class:Savon.WSDL
42
+ PortTypeOperation lib/savon/wsdl/port_type_operation.rb /^ class PortTypeOperation$/;" c class:Savon.WSDL
43
+ PrimaryType lib/savon/xs/types.rb /^ class PrimaryType < BaseType$/;" c class:Savon.XS
44
+ Resolver lib/savon/resolver.rb /^ class Resolver$/;" c class:Savon
45
+ Response lib/savon/response.rb /^ class Response$/;" c class:Savon
46
+ Restriction lib/savon/xs/types.rb /^ class Restriction < BaseType; end$/;" c class:Savon.XS
47
+ Savon lib/savon.rb /^class Savon$/;" c
48
+ Savon lib/savon/attribute.rb /^class Savon$/;" c
49
+ Savon lib/savon/element.rb /^class Savon$/;" c
50
+ Savon lib/savon/element_builder.rb /^class Savon$/;" c
51
+ Savon lib/savon/envelope.rb /^class Savon$/;" c
52
+ Savon lib/savon/errors.rb /^class Savon$/;" c
53
+ Savon lib/savon/example_message.rb /^class Savon$/;" c
54
+ Savon lib/savon/httpclient.rb /^class Savon$/;" c
55
+ Savon lib/savon/importer.rb /^class Savon$/;" c
56
+ Savon lib/savon/message.rb /^class Savon$/;" c
57
+ Savon lib/savon/operation.rb /^class Savon$/;" c
58
+ Savon lib/savon/resolver.rb /^class Savon$/;" c
59
+ Savon lib/savon/response.rb /^class Savon$/;" c
60
+ Savon lib/savon/version.rb /^class Savon$/;" c
61
+ Savon lib/savon/wsdl.rb /^class Savon$/;" c
62
+ Savon lib/savon/wsdl/binding.rb /^class Savon$/;" c
63
+ Savon lib/savon/wsdl/binding_operation.rb /^class Savon$/;" c
64
+ Savon lib/savon/wsdl/document.rb /^class Savon$/;" c
65
+ Savon lib/savon/wsdl/document_collection.rb /^class Savon$/;" c
66
+ Savon lib/savon/wsdl/input_output.rb /^class Savon$/;" c
67
+ Savon lib/savon/wsdl/message.rb /^class Savon$/;" c
68
+ Savon lib/savon/wsdl/operation.rb /^class Savon$/;" c
69
+ Savon lib/savon/wsdl/port.rb /^class Savon$/;" c
70
+ Savon lib/savon/wsdl/port_type.rb /^class Savon$/;" c
71
+ Savon lib/savon/wsdl/port_type_operation.rb /^class Savon$/;" c
72
+ Savon lib/savon/wsdl/service.rb /^class Savon$/;" c
73
+ Savon lib/savon/xs/schema.rb /^class Savon$/;" c
74
+ Savon lib/savon/xs/schema_collection.rb /^class Savon$/;" c
75
+ Savon lib/savon/xs/types.rb /^class Savon$/;" c
76
+ Schema lib/savon/xs/schema.rb /^ class Schema$/;" c class:Savon.XS
77
+ SchemaCollection lib/savon/xs/schema_collection.rb /^ class SchemaCollection$/;" c class:Savon.XS
78
+ Sequence lib/savon/xs/types.rb /^ class Sequence < BaseType; end$/;" c class:Savon.XS
79
+ Service lib/savon/wsdl/service.rb /^ class Service$/;" c class:Savon.WSDL
80
+ SimpleContent lib/savon/xs/types.rb /^ class SimpleContent < BaseType$/;" c class:Savon.XS
81
+ SimpleType lib/savon/xs/types.rb /^ class SimpleType < PrimaryType$/;" c class:Savon.XS
82
+ SpecSupport spec/support/fixture.rb /^module SpecSupport$/;" m
83
+ SpecSupport spec/support/http_mock.rb /^module SpecSupport$/;" m
84
+ WSDL lib/savon/wsdl.rb /^ class WSDL$/;" c class:Savon
85
+ WSDL lib/savon/wsdl/binding.rb /^ class WSDL$/;" c class:Savon
86
+ WSDL lib/savon/wsdl/binding_operation.rb /^ class WSDL$/;" c class:Savon
87
+ WSDL lib/savon/wsdl/document.rb /^ class WSDL$/;" c class:Savon
88
+ WSDL lib/savon/wsdl/document_collection.rb /^ class WSDL$/;" c class:Savon
89
+ WSDL lib/savon/wsdl/input_output.rb /^ class WSDL$/;" c class:Savon
90
+ WSDL lib/savon/wsdl/message.rb /^ class WSDL$/;" c class:Savon
91
+ WSDL lib/savon/wsdl/operation.rb /^ class WSDL$/;" c class:Savon
92
+ WSDL lib/savon/wsdl/port.rb /^ class WSDL$/;" c class:Savon
93
+ WSDL lib/savon/wsdl/port_type.rb /^ class WSDL$/;" c class:Savon
94
+ WSDL lib/savon/wsdl/port_type_operation.rb /^ class WSDL$/;" c class:Savon
95
+ WSDL lib/savon/wsdl/service.rb /^ class WSDL$/;" c class:Savon
96
+ XS lib/savon/xs/schema.rb /^ class XS$/;" c class:Savon
97
+ XS lib/savon/xs/schema_collection.rb /^ class XS$/;" c class:Savon
98
+ XS lib/savon/xs/types.rb /^ class XS$/;" c class:Savon
99
+ [] lib/savon/xs/types.rb /^ def [](key)$/;" f class:Savon.XS.BaseType
100
+ absolute_url? lib/savon/importer.rb /^ def absolute_url?(location)$/;" f class:Savon.Importer
101
+ attribute lib/savon/xs/schema_collection.rb /^ def attribute(namespace, name)$/;" f class:Savon.XS.SchemaCollection
102
+ attribute_group lib/savon/xs/schema_collection.rb /^ def attribute_group(namespace, name)$/;" f class:Savon.XS.SchemaCollection
103
+ base lib/savon/xs/types.rb /^ def base$/;" f class:Savon.XS.SimpleType
104
+ bindings lib/savon/wsdl/document_collection.rb /^ def bindings$/;" f class:Savon.WSDL.DocumentCollection
105
+ body lib/savon/response.rb /^ def body$/;" f class:Savon.Response
106
+ body_parts lib/savon/operation.rb /^ def body_parts$/;" f class:Savon.Operation
107
+ build lib/savon/element_builder.rb /^ def build(parts)$/;" f class:Savon.ElementBuilder
108
+ build lib/savon/example_message.rb /^ def self.build(parts)$/;" F class:Savon.ExampleMessage
109
+ build lib/savon/message.rb /^ def build(message)$/;" f class:Savon.Message
110
+ build lib/savon/operation.rb /^ def build$/;" f class:Savon.Operation
111
+ build lib/savon/xs/types.rb /^ def self.build(node, schemas, schema = {})$/;" F class:Savon.XS
112
+ build_body lib/savon/envelope.rb /^ def build_body$/;" f class:Savon.Envelope
113
+ build_complex_type_element lib/savon/message.rb /^ def build_complex_type_element(element, xml, tag, value)$/;" f class:Savon.Message
114
+ build_element lib/savon/element_builder.rb /^ def build_element(part)$/;" f class:Savon.ElementBuilder
115
+ build_elements lib/savon/message.rb /^ def build_elements(elements, message, xml)$/;" f class:Savon.Message
116
+ build_envelope lib/savon/envelope.rb /^ def build_envelope(header, body)$/;" f class:Savon.Envelope
117
+ build_header lib/savon/envelope.rb /^ def build_header$/;" f class:Savon.Envelope
118
+ build_parts lib/savon/wsdl/input_output.rb /^ def build_parts$/;" f class:Savon.WSDL.Input
119
+ build_rpc_wrapper lib/savon/envelope.rb /^ def build_rpc_wrapper(body)$/;" f class:Savon.Envelope
120
+ build_simple_type_element lib/savon/message.rb /^ def build_simple_type_element(element, xml, tag, value)$/;" f class:Savon.Message
121
+ build_type_element lib/savon/element_builder.rb /^ def build_type_element(part)$/;" f class:Savon.ElementBuilder
122
+ call lib/savon/operation.rb /^ def call$/;" f class:Savon.Operation
123
+ child_elements lib/savon/element_builder.rb /^ def child_elements(parent, type)$/;" f class:Savon.ElementBuilder
124
+ children lib/savon/xs/types.rb /^ def children$/;" f class:Savon.XS.BaseType
125
+ client spec/support/http_mock.rb /^ def client$/;" f class:SpecSupport.HTTPMock
126
+ collect_attributes lib/savon/example_message.rb /^ def self.collect_attributes(element)$/;" F class:Savon.ExampleMessage
127
+ collect_attributes lib/savon/xs/types.rb /^ def collect_attributes(memo = [])$/;" f class:Savon.XS.Annotation
128
+ collect_attributes lib/savon/xs/types.rb /^ def collect_attributes(memo = [])$/;" f class:Savon.XS.AttributeGroup
129
+ collect_attributes lib/savon/xs/types.rb /^ def collect_attributes(memo = [])$/;" f class:Savon.XS.BaseType
130
+ collect_attributes lib/savon/xs/types.rb /^ def collect_attributes(memo = [])$/;" f class:Savon.XS.SimpleContent
131
+ collect_body_parts lib/savon/wsdl/input_output.rb /^ def collect_body_parts$/;" f class:Savon.WSDL.Input
132
+ collect_child_elements lib/savon/xs/types.rb /^ def collect_child_elements(memo = [])$/;" f class:Savon.XS.Annotation
133
+ collect_child_elements lib/savon/xs/types.rb /^ def collect_child_elements(memo = [])$/;" f class:Savon.XS.Attribute
134
+ collect_child_elements lib/savon/xs/types.rb /^ def collect_child_elements(memo = [])$/;" f class:Savon.XS.BaseType
135
+ collect_child_elements lib/savon/xs/types.rb /^ def collect_child_elements(memo = [])$/;" f class:Savon.XS.Extension
136
+ collect_child_elements lib/savon/xs/types.rb /^ def collect_child_elements(memo = [])$/;" f class:Savon.XS.SimpleContent
137
+ collect_header_parts lib/savon/wsdl/input_output.rb /^ def collect_header_parts$/;" f class:Savon.WSDL.Input
138
+ collect_namespaces lib/savon/envelope.rb /^ def collect_namespaces$/;" f class:Savon.Envelope
139
+ collect_sections lib/savon/wsdl/document.rb /^ def collect_sections(mapping)$/;" f class:Savon.WSDL.Document
140
+ collect_sections lib/savon/wsdl/document_collection.rb /^ def collect_sections$/;" f class:Savon.WSDL.DocumentCollection
141
+ complex_type lib/savon/xs/schema_collection.rb /^ def complex_type(namespace, name)$/;" f class:Savon.XS.SchemaCollection
142
+ complex_type? lib/savon/element.rb /^ def complex_type?$/;" f class:Savon.Element
143
+ create_nsid lib/savon/envelope.rb /^ def create_nsid$/;" f class:Savon.Envelope
144
+ doc lib/savon/response.rb /^ def doc$/;" f class:Savon.Response
145
+ each lib/savon/wsdl/document_collection.rb /^ def each(&block)$/;" f class:Savon.WSDL.DocumentCollection
146
+ each lib/savon/xs/schema_collection.rb /^ def each(&block)$/;" f class:Savon.XS.SchemaCollection
147
+ element lib/savon/xs/schema_collection.rb /^ def element(namespace, name)$/;" f class:Savon.XS.SchemaCollection
148
+ element_attributes lib/savon/element_builder.rb /^ def element_attributes(type)$/;" f class:Savon.ElementBuilder
149
+ empty? lib/savon/xs/types.rb /^ def empty?$/;" f class:Savon.XS.BaseType
150
+ example_body lib/savon/operation.rb /^ def example_body$/;" f class:Savon.Operation
151
+ example_header lib/savon/operation.rb /^ def example_header$/;" f class:Savon.Operation
152
+ expand_qname lib/savon/element_builder.rb /^ def expand_qname(qname, namespaces)$/;" f class:Savon.ElementBuilder
153
+ extract_attributes lib/savon/message.rb /^ def extract_attributes(hash)$/;" f class:Savon.Message
154
+ extract_value lib/savon/message.rb /^ def extract_value(name, symbol_name, message)$/;" f class:Savon.Message
155
+ fake_request spec/support/http_mock.rb /^ def fake_request(url, fixture = nil)$/;" f class:SpecSupport.HTTPMock
156
+ fetch_binding lib/savon/wsdl/port.rb /^ def fetch_binding(documents)$/;" f class:Savon.WSDL.Port
157
+ fetch_port_type lib/savon/wsdl/binding.rb /^ def fetch_port_type(documents)$/;" f class:Savon.WSDL.Binding
158
+ find_attribute lib/savon/element_builder.rb /^ def find_attribute(qname, namespaces)$/;" f class:Savon.ElementBuilder
159
+ find_by_namespace lib/savon/xs/schema_collection.rb /^ def find_by_namespace(namespace)$/;" f class:Savon.XS.SchemaCollection
160
+ find_element lib/savon/element_builder.rb /^ def find_element(qname, namespaces)$/;" f class:Savon.ElementBuilder
161
+ find_input_child_nodes lib/savon/wsdl/binding_operation.rb /^ def find_input_child_nodes(child_name)$/;" f class:Savon.WSDL.BindingOperation
162
+ find_message lib/savon/wsdl/input_output.rb /^ def find_message(qname)$/;" f class:Savon.WSDL.Input
163
+ find_node lib/savon/wsdl/port_type_operation.rb /^ def find_node(node_name)$/;" f class:Savon.WSDL.PortTypeOperation
164
+ find_schema lib/savon/element_builder.rb /^ def find_schema(namespace)$/;" f class:Savon.ElementBuilder
165
+ find_soap_node lib/savon/wsdl/binding.rb /^ def find_soap_node$/;" f class:Savon.WSDL.Binding
166
+ find_soap_operation_node lib/savon/wsdl/binding_operation.rb /^ def find_soap_operation_node$/;" f class:Savon.WSDL.BindingOperation
167
+ find_type lib/savon/element_builder.rb /^ def find_type(qname, namespaces)$/;" f class:Savon.ElementBuilder
168
+ find_type_for_element lib/savon/element_builder.rb /^ def find_type_for_element(element)$/;" f class:Savon.ElementBuilder
169
+ fixture spec/support/fixture.rb /^ def fixture(path)$/;" f class:SpecSupport
170
+ form lib/savon/xs/types.rb /^ def form$/;" f class:Savon.XS.PrimaryType
171
+ get lib/savon/httpclient.rb /^ def get(url)$/;" f class:Savon.HTTPClient
172
+ get spec/savon/resolver_spec.rb /^ def get(url)$/;" f
173
+ get spec/support/http_mock.rb /^ def get(url)$/;" f class:SpecSupport.HTTPMock
174
+ get_documents spec/savon/wsdl/document_spec.rb /^ def get_documents(fixture)$/;" f
175
+ handle_simple_type lib/savon/element_builder.rb /^ def handle_simple_type(attribute, type)$/;" f class:Savon.ElementBuilder
176
+ handle_type lib/savon/element_builder.rb /^ def handle_type(element, type)$/;" f class:Savon.ElementBuilder
177
+ hash lib/savon/response.rb /^ def hash$/;" f class:Savon.Response
178
+ headers lib/savon/wsdl/input_output.rb /^ def headers$/;" f class:Savon.WSDL.Input
179
+ headers lib/savon/wsdl/input_output.rb /^ def headers$/;" f class:Savon.WSDL.Output
180
+ http lib/savon.rb /^ def http$/;" f class:Savon
181
+ http_adapter lib/savon.rb /^ def self.http_adapter$/;" F class:Savon
182
+ http_adapter lib/savon.rb /^ def self.http_adapter=(adapter)$/;" F class:Savon
183
+ http_headers lib/savon/operation.rb /^ def http_headers$/;" f class:Savon.Operation
184
+ http_mock spec/support/http_mock.rb /^ def http_mock$/;" f class:SpecSupport
185
+ id lib/savon/xs/types.rb /^ def id$/;" f class:Savon.XS.ComplexType
186
+ import lib/savon/importer.rb /^ def import(location)$/;" f class:Savon.Importer
187
+ import_document lib/savon/importer.rb /^ def import_document(location, &block)$/;" f class:Savon.Importer
188
+ import_schemas lib/savon/importer.rb /^ def import_schemas$/;" f class:Savon.Importer
189
+ imports lib/savon/wsdl/document.rb /^ def imports$/;" f class:Savon.WSDL.Document
190
+ initialize lib/savon.rb /^ def initialize(wsdl, http = nil)$/;" f class:Savon
191
+ initialize lib/savon/element.rb /^ def initialize$/;" f class:Savon.Element
192
+ initialize lib/savon/element_builder.rb /^ def initialize(schemas)$/;" f class:Savon.ElementBuilder
193
+ initialize lib/savon/envelope.rb /^ def initialize(operation, header, body)$/;" f class:Savon.Envelope
194
+ initialize lib/savon/httpclient.rb /^ def initialize$/;" f class:Savon.HTTPClient
195
+ initialize lib/savon/importer.rb /^ def initialize(resolver, documents, schemas)$/;" f class:Savon.Importer
196
+ initialize lib/savon/message.rb /^ def initialize(envelope, parts)$/;" f class:Savon.Message
197
+ initialize lib/savon/operation.rb /^ def initialize(operation, wsdl, http)$/;" f class:Savon.Operation
198
+ initialize lib/savon/resolver.rb /^ def initialize(http)$/;" f class:Savon.Resolver
199
+ initialize lib/savon/response.rb /^ def initialize(raw_response)$/;" f class:Savon.Response
200
+ initialize lib/savon/wsdl.rb /^ def initialize(wsdl, http)$/;" f class:Savon.WSDL
201
+ initialize lib/savon/wsdl/binding.rb /^ def initialize(binding_node)$/;" f class:Savon.WSDL.Binding
202
+ initialize lib/savon/wsdl/binding_operation.rb /^ def initialize(operation_node, defaults = {})$/;" f class:Savon.WSDL.BindingOperation
203
+ initialize lib/savon/wsdl/document.rb /^ def initialize(document, schemas)$/;" f class:Savon.WSDL.Document
204
+ initialize lib/savon/wsdl/document_collection.rb /^ def initialize$/;" f class:Savon.WSDL.DocumentCollection
205
+ initialize lib/savon/wsdl/input_output.rb /^ def initialize(binding_operation, port_type_operation, wsdl)$/;" f class:Savon.WSDL.Input
206
+ initialize lib/savon/wsdl/message.rb /^ def initialize(message_node)$/;" f class:Savon.WSDL.Message
207
+ initialize lib/savon/wsdl/operation.rb /^ def initialize(name, endpoint, binding_operation, port_type_operation, wsdl)$/;" f class:Savon.WSDL.Operation
208
+ initialize lib/savon/wsdl/port.rb /^ def initialize(port_node, soap_node)$/;" f class:Savon.WSDL.Port
209
+ initialize lib/savon/wsdl/port_type.rb /^ def initialize(port_type_node)$/;" f class:Savon.WSDL.PortType
210
+ initialize lib/savon/wsdl/port_type_operation.rb /^ def initialize(operation_node)$/;" f class:Savon.WSDL.PortTypeOperation
211
+ initialize lib/savon/wsdl/service.rb /^ def initialize(service_node)$/;" f class:Savon.WSDL.Service
212
+ initialize lib/savon/xs/schema.rb /^ def initialize(schema, schemas)$/;" f class:Savon.XS.Schema
213
+ initialize lib/savon/xs/schema_collection.rb /^ def initialize$/;" f class:Savon.XS.SchemaCollection
214
+ initialize lib/savon/xs/types.rb /^ def initialize(node, schemas, schema = {})$/;" f class:Savon.XS.Attribute
215
+ initialize lib/savon/xs/types.rb /^ def initialize(node, schemas, schema = {})$/;" f class:Savon.XS.BaseType
216
+ initialize lib/savon/xs/types.rb /^ def initialize(node, schemas, schema = {})$/;" f class:Savon.XS.Element
217
+ initialize lib/savon/xs/types.rb /^ def initialize(node, schemas, schema = {})$/;" f class:Savon.XS.PrimaryType
218
+ initialize spec/support/http_mock.rb /^ def initialize$/;" f class:SpecSupport.HTTPMock
219
+ inline_type lib/savon/xs/types.rb /^ def inline_type$/;" f class:Savon.XS.Attribute
220
+ inline_type lib/savon/xs/types.rb /^ def inline_type$/;" f class:Savon.XS.Element
221
+ input lib/savon/wsdl/operation.rb /^ def input$/;" f class:Savon.WSDL.Operation
222
+ input lib/savon/wsdl/port_type_operation.rb /^ def input$/;" f class:Savon.WSDL.PortTypeOperation
223
+ input_body lib/savon/wsdl/binding_operation.rb /^ def input_body$/;" f class:Savon.WSDL.BindingOperation
224
+ input_headers lib/savon/wsdl/binding_operation.rb /^ def input_headers$/;" f class:Savon.WSDL.BindingOperation
225
+ input_style lib/savon/operation.rb /^ def input_style$/;" f class:Savon.Operation
226
+ input_style lib/savon/wsdl/operation.rb /^ def input_style$/;" f class:Savon.WSDL.Operation
227
+ inspect lib/savon/xs/types.rb /^ def inspect$/;" f class:Savon.XS.BaseType
228
+ load_fixture spec/support/http_mock.rb /^ def load_fixture(fixture)$/;" f class:SpecSupport.HTTPMock
229
+ message_name lib/savon/wsdl/input_output.rb /^ def message_name$/;" f class:Savon.WSDL.Input
230
+ message_name lib/savon/wsdl/input_output.rb /^ def message_name$/;" f class:Savon.WSDL.Output
231
+ messages lib/savon/wsdl/document_collection.rb /^ def messages$/;" f class:Savon.WSDL.DocumentCollection
232
+ name lib/savon/wsdl/binding_operation.rb /^ def name$/;" f class:Savon.WSDL.BindingOperation
233
+ name lib/savon/wsdl/message.rb /^ def name$/;" f class:Savon.WSDL.Message
234
+ name lib/savon/wsdl/port_type.rb /^ def name$/;" f class:Savon.WSDL.PortType
235
+ name lib/savon/wsdl/service.rb /^ def name$/;" f class:Savon.WSDL.Service
236
+ new_complex_type spec/savon/xs/complex_type_spec.rb /^ def new_complex_type(xml, schemas = nil)$/;" f
237
+ new_element spec/savon/xs/element_spec.rb /^ def new_element(xml)$/;" f
238
+ new_http_client lib/savon.rb /^ def new_http_client$/;" f class:Savon
239
+ new_simple_type spec/savon/xs/simple_type_spec.rb /^ def new_simple_type(xml)$/;" f
240
+ nori lib/savon/response.rb /^ def nori$/;" f class:Savon.Response
241
+ operation lib/savon.rb /^ def operation(service_name, port_name, operation_name)$/;" f class:Savon
242
+ operation lib/savon/wsdl.rb /^ def operation(service_name, port_name, operation_name)$/;" f class:Savon.WSDL
243
+ operations lib/savon.rb /^ def operations(service_name, port_name)$/;" f class:Savon
244
+ operations lib/savon/wsdl.rb /^ def operations(service_name, port_name)$/;" f class:Savon.WSDL
245
+ operations lib/savon/wsdl/binding.rb /^ def operations$/;" f class:Savon.WSDL.Binding
246
+ operations lib/savon/wsdl/port_type.rb /^ def operations$/;" f class:Savon.WSDL.PortType
247
+ operations! lib/savon/wsdl/binding.rb /^ def operations!$/;" f class:Savon.WSDL.Binding
248
+ operations! lib/savon/wsdl/port_type.rb /^ def operations!$/;" f class:Savon.WSDL.PortType
249
+ optional? lib/savon/attribute.rb /^ def optional?$/;" f class:Savon.Attribute
250
+ output lib/savon/wsdl/operation.rb /^ def output$/;" f class:Savon.WSDL.Operation
251
+ output lib/savon/wsdl/port_type_operation.rb /^ def output$/;" f class:Savon.WSDL.PortTypeOperation
252
+ output_style lib/savon/operation.rb /^ def output_style$/;" f class:Savon.Operation
253
+ output_style lib/savon/wsdl/operation.rb /^ def output_style$/;" f class:Savon.WSDL.Operation
254
+ parse lib/savon/xs/schema.rb /^ def parse$/;" f class:Savon.XS.Schema
255
+ parse_node lib/savon/wsdl/port_type_operation.rb /^ def parse_node(node)$/;" f class:Savon.WSDL.PortTypeOperation
256
+ parts lib/savon/wsdl/message.rb /^ def parts$/;" f class:Savon.WSDL.Message
257
+ parts! lib/savon/wsdl/message.rb /^ def parts!$/;" f class:Savon.WSDL.Message
258
+ path spec/support/fixture.rb /^ def self.path(path)$/;" F class:SpecSupport.Fixture
259
+ port_types lib/savon/wsdl/document_collection.rb /^ def port_types$/;" f class:Savon.WSDL.DocumentCollection
260
+ ports lib/savon/wsdl/service.rb /^ def ports$/;" f class:Savon.WSDL.Service
261
+ ports! lib/savon/wsdl/service.rb /^ def ports!$/;" f class:Savon.WSDL.Service
262
+ post lib/savon/httpclient.rb /^ def post(url, headers, body)$/;" f class:Savon.HTTPClient
263
+ post spec/support/http_mock.rb /^ def post(url, headers, body)$/;" f class:SpecSupport.HTTPMock
264
+ push lib/savon/xs/schema_collection.rb /^ def push(schemas)$/;" f class:Savon.XS.SchemaCollection
265
+ raise_mock_error! spec/support/http_mock.rb /^ def raise_mock_error!(method, url)$/;" f class:SpecSupport.HTTPMock
266
+ raw lib/savon/response.rb /^ def raw$/;" f class:Savon.Response
267
+ recursive? lib/savon/element.rb /^ def recursive?$/;" f class:Savon.Element
268
+ recursive_child_definition? lib/savon/element_builder.rb /^ def recursive_child_definition?(parent, element)$/;" f class:Savon.ElementBuilder
269
+ register_namespace lib/savon/envelope.rb /^ def register_namespace(namespace)$/;" f class:Savon.Envelope
270
+ request lib/savon/httpclient.rb /^ def request(method, url, headers, body)$/;" f class:Savon.HTTPClient
271
+ resolve lib/savon/resolver.rb /^ def resolve(location)$/;" f class:Savon.Resolver
272
+ rpc_call? lib/savon/envelope.rb /^ def rpc_call?$/;" f class:Savon.Envelope
273
+ schema_nodes lib/savon/wsdl/document.rb /^ def schema_nodes$/;" f class:Savon.WSDL.Document
274
+ schema_nodes! lib/savon/wsdl/document.rb /^ def schema_nodes!$/;" f class:Savon.WSDL.Document
275
+ schemas lib/savon/wsdl/document.rb /^ def schemas$/;" f class:Savon.WSDL.Document
276
+ service_name lib/savon/wsdl.rb /^ def service_name$/;" f class:Savon.WSDL
277
+ service_name lib/savon/wsdl/document.rb /^ def service_name$/;" f class:Savon.WSDL.Document
278
+ service_name lib/savon/wsdl/document_collection.rb /^ def service_name$/;" f class:Savon.WSDL.DocumentCollection
279
+ service_port lib/savon/wsdl/document_collection.rb /^ def service_port(service_name, port_name)$/;" f class:Savon.WSDL.DocumentCollection
280
+ services lib/savon.rb /^ def services$/;" f class:Savon
281
+ services lib/savon/wsdl.rb /^ def services$/;" f class:Savon.WSDL
282
+ services lib/savon/wsdl/document_collection.rb /^ def services$/;" f class:Savon.WSDL.DocumentCollection
283
+ services! lib/savon/wsdl.rb /^ def services!$/;" f class:Savon.WSDL
284
+ simple_type lib/savon/xs/schema_collection.rb /^ def simple_type(namespace, name)$/;" f class:Savon.XS.SchemaCollection
285
+ simple_type? lib/savon/element.rb /^ def simple_type?$/;" f class:Savon.Element
286
+ soap_action lib/savon/wsdl/operation.rb /^ def soap_action$/;" f class:Savon.WSDL.Operation
287
+ soap_version lib/savon/wsdl/operation.rb /^ def soap_version$/;" f class:Savon.WSDL.Operation
288
+ split_qname lib/savon/element_builder.rb /^ def split_qname(qname)$/;" f class:Savon.ElementBuilder
289
+ store_element lib/savon/xs/schema.rb /^ def store_element(collection, node, schema)$/;" f class:Savon.XS.Schema
290
+ store_import lib/savon/xs/schema.rb /^ def store_import(node)$/;" f class:Savon.XS.Schema
291
+ target_namespace lib/savon/wsdl/document.rb /^ def target_namespace$/;" f class:Savon.WSDL.Document
292
+ to_a lib/savon/element.rb /^ def to_a(memo = [], stack = [])$/;" f class:Savon.Element
293
+ to_s lib/savon/envelope.rb /^ def to_s$/;" f class:Savon.Envelope
294
+ type_class lib/savon/xs/types.rb /^ def self.type_class(type)$/;" F class:Savon.XS
295
+ verify_operation_exists! lib/savon/wsdl.rb /^ def verify_operation_exists!(service_name, port_name, operation_name)$/;" f class:Savon.WSDL
296
+ verify_operation_style! lib/savon.rb /^ def verify_operation_style!(operation)$/;" f class:Savon
297
+ verify_port_exists! lib/savon/wsdl.rb /^ def verify_port_exists!(service_name, port_name)$/;" f class:Savon.WSDL
298
+ verify_service_exists! lib/savon/wsdl.rb /^ def verify_service_exists!(service_name)$/;" f class:Savon.WSDL
299
+ xpath lib/savon/response.rb /^ def xpath(path, namespaces = nil)$/;" f class:Savon.Response