savon 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.textile CHANGED
@@ -15,15 +15,15 @@ p. To use this heavy metal library, you should be familiar with SOAP, WSDL and t
15
15
 
16
16
  h2. Instantiate Savon::Client
17
17
 
18
- p. Instantiate a new instance of Savon::Client, passing in the WSDL of your service.
18
+ p. Instantiate Savon::Client, passing in the WSDL of your service.
19
19
 
20
- bc. proxy = Savon::Client.new "http://example.com/UserService?wsdl"
20
+ bc. client = Savon::Client.new "http://example.com/UserService?wsdl"
21
21
 
22
22
  h2. The WSDL
23
23
 
24
24
  p. You can find out about the SOAP actions available on the webservice by using the WSDL object.
25
25
 
26
- bc. proxy.wsdl.soap_actions
26
+ bc. client.wsdl.soap_actions.keys
27
27
  => [:get_all_users, :get_user_by_id, :user_magic]
28
28
 
29
29
  p. Find out more about the "WSDL":http://wiki.github.com/rubiii/savon/wsdl object.
@@ -32,24 +32,33 @@ h2. Calling a SOAP action
32
32
 
33
33
  p. Now, assuming your service applies to the default "Options":http://wiki.github.com/rubiii/savon/options, you can just call any available SOAP action.
34
34
 
35
- bc. response = proxy.get_all_users
35
+ bc. response = client.get_all_users
36
36
 
37
37
  p. Savon lets you call SOAP actions using snake_case, because even though they will propably be written in lowerCamelCase or CamelCase, it just feels much more natural.
38
38
 
39
- h2. Parameters
39
+ h2. The SOAP object
40
40
 
41
- p. Specifying parameters for the SOAP service, can be done by simply passing a Hash to the SOAP action.
41
+ p. Pass a block to the SOAP request which expects a single variable and Savon will hand you the SOAP object to specify various SOAP-related options.
42
42
 
43
- bc. response = proxy.get_user_by_id :id => 666
43
+ bc. response = client.get_user_by_id { |soap| soap.body = { :id => 666 } }
44
44
 
45
- p. Learn more about [[Parameters]].
45
+ p. Learn more about the "SOAP":http://wiki.github.com/rubiii/savon/soap object.
46
46
 
47
- h2. The response
47
+ h2. The WSSE object
48
+
49
+ p. Pass a block to the SOAP request which expects two variables and Savon will yield the SOAP and WSSE objects.
50
+
51
+ bc. response = client.get_user_by_id do |soap, wsse|
52
+ wsse.username = "gorilla"
53
+ wsse.password = "secret"
54
+ soap.body = { :id => 666 }
55
+ end
48
56
 
49
- p. By default, the SOAP response is translated into a Hash. Take a look at the "Options":http://wiki.github.com/rubiii/savon/options for more information.
57
+ p. Learn more about the "WSSE":http://wiki.github.com/rubiii/savon/wsse object.
58
+
59
+ h2. The response
50
60
 
51
- bc. proxy.get_user_by_id :id => 666
52
- => { :user_response => { :id => "666", :username => "gorilla" } }
61
+ p. The response is wrapped in an object to give you various options of handling it. Take a look at the "Response":http://wiki.github.com/rubiii/savon/response for more information.
53
62
 
54
63
  h2. HTTP errors and SOAP faults
55
64
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.0
1
+ 0.6.1
data/lib/savon/wsse.rb CHANGED
@@ -12,10 +12,10 @@ module Savon
12
12
  WSUNamespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
13
13
 
14
14
  # Default WSSE username.
15
- @username = ""
15
+ @username = nil
16
16
 
17
17
  # Default WSSE password.
18
- @password = ""
18
+ @password = nil
19
19
 
20
20
  # Default for whether to use WSSE digest.
21
21
  @digest = false
@@ -28,6 +28,7 @@ module Savon
28
28
  # Sets the default WSSE username.
29
29
  def username=(username)
30
30
  @username = username.to_s if username.respond_to? :to_s
31
+ @username = nil if username.nil?
31
32
  end
32
33
 
33
34
  # Returns the default WSSE password.
@@ -36,6 +37,7 @@ module Savon
36
37
  # Sets the default WSSE password.
37
38
  def password=(password)
38
39
  @password = password.to_s if password.respond_to? :to_s
40
+ @password = nil if password.nil?
39
41
  end
40
42
 
41
43
  # Sets whether to use WSSE digest by default.
@@ -51,6 +53,7 @@ module Savon
51
53
  # Sets the WSSE username.
52
54
  def username=(username)
53
55
  @username = username.to_s if username.respond_to? :to_s
56
+ @username = nil if username.nil?
54
57
  end
55
58
 
56
59
  # Returns the WSSE username. Defaults to the global default.
@@ -61,6 +64,7 @@ module Savon
61
64
  # Sets the WSSE password.
62
65
  def password=(password)
63
66
  @password = password.to_s if password.respond_to? :to_s
67
+ @password = nil if password.nil?
64
68
  end
65
69
 
66
70
  # Returns the WSSE password. Defaults to the global default.
@@ -2,9 +2,12 @@ require "spec_helper"
2
2
 
3
3
  describe Savon::WSSE do
4
4
  before do
5
+ Savon::WSSE.username = nil
6
+ Savon::WSSE.password = nil
7
+ Savon::WSSE.digest = false
8
+
5
9
  @wsse = Savon::WSSE.new
6
- @username = "gorilla"
7
- @password = "secret"
10
+ @username, @password = "gorilla", "secret"
8
11
  end
9
12
 
10
13
  describe "WSENamespace" do
@@ -22,28 +25,24 @@ describe Savon::WSSE do
22
25
  end
23
26
 
24
27
  describe "@username" do
25
- it "defaults to an empty String" do
26
- Savon::WSSE.username.should be_a String
27
- Savon::WSSE.username.should be_empty
28
+ it "defaults to nil" do
29
+ Savon::WSSE.username.should be_nil
28
30
  end
29
31
 
30
32
  it "has accessor methods" do
31
33
  Savon::WSSE.username = "gorilla"
32
34
  Savon::WSSE.username.should == "gorilla"
33
- Savon::WSSE.username = ""
34
35
  end
35
36
  end
36
37
 
37
38
  describe "@password" do
38
- it "defaults to an empty String" do
39
- Savon::WSSE.password.should be_a String
40
- Savon::WSSE.password.should be_empty
39
+ it "defaults to nil" do
40
+ Savon::WSSE.password.should be_nil
41
41
  end
42
42
 
43
43
  it "has accessor methods" do
44
44
  Savon::WSSE.password = "secret"
45
45
  Savon::WSSE.password.should == "secret"
46
- Savon::WSSE.password = ""
47
46
  end
48
47
  end
49
48
 
@@ -55,33 +54,28 @@ describe Savon::WSSE do
55
54
  it "has accessor methods" do
56
55
  Savon::WSSE.digest = true
57
56
  Savon::WSSE.digest?.should == true
58
- Savon::WSSE.digest = false
59
57
  end
60
58
  end
61
59
 
62
60
  describe "username" do
63
- it "defaults to an empty String" do
64
- @wsse.username.should be_a String
65
- @wsse.username.should be_empty
61
+ it "defaults to nil" do
62
+ @wsse.username.should be_nil
66
63
  end
67
64
 
68
65
  it "has accessor methods" do
69
66
  @wsse.username = "gorilla"
70
67
  @wsse.username.should == "gorilla"
71
- @wsse.username = nil
72
68
  end
73
69
  end
74
70
 
75
71
  describe "password" do
76
- it "defaults to an empty String" do
77
- @wsse.password.should be_a String
78
- @wsse.password.should be_empty
72
+ it "defaults to nil" do
73
+ @wsse.password.should be_nil
79
74
  end
80
75
 
81
76
  it "has accessor methods" do
82
77
  @wsse.password = "secret"
83
78
  @wsse.password.should == "secret"
84
- @wsse.password = nil
85
79
  end
86
80
  end
87
81
 
@@ -93,7 +87,6 @@ describe Savon::WSSE do
93
87
  it "has accessor methods" do
94
88
  @wsse.digest = true
95
89
  @wsse.digest?.should == true
96
- @wsse.digest = false
97
90
  end
98
91
  end
99
92
 
@@ -117,9 +110,6 @@ describe Savon::WSSE do
117
110
  header.should include_security_namespaces
118
111
  header.should include @username
119
112
  header.should include @password
120
-
121
- Savon::WSSE.username = ""
122
- Savon::WSSE.password = ""
123
113
  end
124
114
  end
125
115
 
@@ -155,4 +145,4 @@ describe Savon::WSSE do
155
145
  end
156
146
  end
157
147
 
158
- end
148
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: savon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Harrington