strikeiron 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +18 -0
- data/.rbenv-version +1 -0
- data/.travis.yml +12 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +71 -0
- data/Rakefile +18 -0
- data/lib/strikeiron.rb +109 -0
- data/lib/strikeiron/address.rb +47 -0
- data/lib/strikeiron/configuration.rb +10 -0
- data/lib/strikeiron/jurisdiction.rb +34 -0
- data/lib/strikeiron/tax_result.rb +39 -0
- data/lib/strikeiron/tax_value.rb +46 -0
- data/lib/strikeiron/version.rb +3 -0
- data/strikeiron.gemspec +25 -0
- data/test/cassettes/client_actions.yml +288 -0
- data/test/cassettes/remaining_hits.yml +52 -0
- data/test/cassettes/sales_tax.yml +93 -0
- data/test/cassettes/tax_categories.yml +408 -0
- data/test/helper.rb +25 -0
- data/test/test_client.rb +19 -0
- data/test/test_requests.rb +52 -0
- metadata +160 -0
data/strikeiron.gemspec
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/strikeiron/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Drew Tempelmeyer"]
|
6
|
+
gem.email = ["drewtemp@gmail.com"]
|
7
|
+
gem.description = %q{Ruby gem to handle tax calculation using the Strikeiron API.}
|
8
|
+
gem.summary = %q{Ruby gem to handle tax calculation using the Strikeiron API.}
|
9
|
+
gem.homepage = "https://github.com/drewtempelmeyer/strikeiron"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "strikeiron"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Strikeiron::VERSION
|
17
|
+
|
18
|
+
gem.add_dependency 'savon', '~> 0.9.6'
|
19
|
+
|
20
|
+
gem.add_development_dependency 'rake', '~> 0.9.2'
|
21
|
+
gem.add_development_dependency 'rdoc', '~> 3.12'
|
22
|
+
gem.add_development_dependency 'vcr', '~> 2.1.1'
|
23
|
+
gem.add_development_dependency 'webmock', '~> 1.8.6'
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,288 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://wsparam.strikeiron.com/SpeedTaxSalesTax3?WSDL
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- ! '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- Ruby
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Thu, 03 May 2012 14:28:00 GMT
|
21
|
+
Server:
|
22
|
+
- Microsoft-IIS/6.0
|
23
|
+
X-Powered-By:
|
24
|
+
- ASP.NET
|
25
|
+
X-Aspnet-Version:
|
26
|
+
- 4.0.30319
|
27
|
+
Cache-Control:
|
28
|
+
- private
|
29
|
+
Content-Type:
|
30
|
+
- text/xml; charset=utf-8
|
31
|
+
Content-Length:
|
32
|
+
- '19714'
|
33
|
+
body:
|
34
|
+
encoding: US-ASCII
|
35
|
+
string: ! "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<wsdl:definitions xmlns:http=\"http://schemas.xmlsoap.org/wsdl/http/\"
|
36
|
+
xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:mime=\"http://schemas.xmlsoap.org/wsdl/mime/\"
|
37
|
+
xmlns:tns=\"http://www.strikeiron.com/\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\"
|
38
|
+
xmlns:tm=\"http://microsoft.com/wsdl/mime/textMatching/\" xmlns:s=\"http://www.w3.org/2001/XMLSchema\"
|
39
|
+
xmlns:soap12=\"http://schemas.xmlsoap.org/wsdl/soap12/\" targetNamespace=\"http://www.strikeiron.com/\"
|
40
|
+
xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">\r\n <wsdl:types>\r\n <s:schema
|
41
|
+
elementFormDefault=\"qualified\" targetNamespace=\"http://www.strikeiron.com/\">\r\n
|
42
|
+
\ <s:element name=\"GetSalesTaxValue\">\r\n <s:complexType>\r\n
|
43
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
44
|
+
name=\"UserID\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
|
45
|
+
maxOccurs=\"1\" name=\"Password\" type=\"s:string\" />\r\n <s:element
|
46
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"ShipFrom\" type=\"tns:SpeedTaxAddress\"
|
47
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ShipTo\"
|
48
|
+
type=\"tns:SpeedTaxAddress\" />\r\n <s:element minOccurs=\"0\"
|
49
|
+
maxOccurs=\"1\" name=\"TaxValueRequests\" type=\"tns:ArrayOfTaxValueRequest\"
|
50
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
51
|
+
\ <s:complexType name=\"SpeedTaxAddress\">\r\n <s:sequence>\r\n
|
52
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"StreetAddress\"
|
53
|
+
type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
54
|
+
name=\"City\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
|
55
|
+
maxOccurs=\"1\" name=\"State\" type=\"s:string\" />\r\n <s:element
|
56
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"ZIPCode\" type=\"s:string\" />\r\n
|
57
|
+
\ </s:sequence>\r\n </s:complexType>\r\n <s:complexType name=\"ArrayOfTaxValueRequest\">\r\n
|
58
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"unbounded\"
|
59
|
+
name=\"TaxValueRequest\" nillable=\"true\" type=\"tns:TaxValueRequest\" />\r\n
|
60
|
+
\ </s:sequence>\r\n </s:complexType>\r\n <s:complexType name=\"TaxValueRequest\">\r\n
|
61
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
62
|
+
name=\"SalesTaxCategoryOrCategoryID\" type=\"s:string\" />\r\n <s:element
|
63
|
+
minOccurs=\"1\" maxOccurs=\"1\" name=\"Amount\" type=\"s:double\" />\r\n </s:sequence>\r\n
|
64
|
+
\ </s:complexType>\r\n <s:element name=\"GetSalesTaxValueResponse\">\r\n
|
65
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
66
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetSalesTaxValueResult\" type=\"tns:SIWsOutputOfTaxValueOutput\"
|
67
|
+
/>\r\n <s:element name=\"SISubscriptionInfo\" type=\"tns:SISubscriptionInfo\"
|
68
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
69
|
+
\ <s:complexType name=\"SIWsOutputOfTaxValueOutput\">\r\n <s:sequence>\r\n
|
70
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ServiceStatus\"
|
71
|
+
type=\"tns:SIWsStatus\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
72
|
+
name=\"ServiceResult\" type=\"tns:TaxValueOutput\" />\r\n </s:sequence>\r\n
|
73
|
+
\ </s:complexType>\r\n <s:complexType name=\"SIWsStatus\">\r\n <s:sequence>\r\n
|
74
|
+
\ <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"StatusNbr\" type=\"s:int\"
|
75
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"StatusDescription\"
|
76
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
77
|
+
\ <s:complexType name=\"TaxValueOutput\">\r\n <s:complexContent
|
78
|
+
mixed=\"false\">\r\n <s:extension base=\"tns:SIWsResultArrayOfTaxValueRecord\">\r\n
|
79
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
80
|
+
name=\"ResolvedFromAddress\" type=\"tns:SpeedTaxAddress\" />\r\n <s:element
|
81
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"ResolvedToAddress\" type=\"tns:SpeedTaxAddress\"
|
82
|
+
/>\r\n <s:element minOccurs=\"1\" maxOccurs=\"1\" name=\"SalesTaxTotal\"
|
83
|
+
type=\"s:decimal\" />\r\n </s:sequence>\r\n </s:extension>\r\n
|
84
|
+
\ </s:complexContent>\r\n </s:complexType>\r\n <s:complexType
|
85
|
+
name=\"SIWsResultArrayOfTaxValueRecord\">\r\n <s:sequence>\r\n <s:element
|
86
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"Results\" type=\"tns:ArrayOfTaxValueRecord\"
|
87
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
88
|
+
name=\"ArrayOfTaxValueRecord\">\r\n <s:sequence>\r\n <s:element
|
89
|
+
minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"TaxValueRecord\" nillable=\"true\"
|
90
|
+
type=\"tns:TaxValueRecord\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
91
|
+
\ <s:complexType name=\"TaxValueRecord\">\r\n <s:complexContent
|
92
|
+
mixed=\"false\">\r\n <s:extension base=\"tns:SIWsResultWithStatus\">\r\n
|
93
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
94
|
+
name=\"Category\" type=\"s:string\" />\r\n <s:element minOccurs=\"0\"
|
95
|
+
maxOccurs=\"1\" name=\"CategoryID\" type=\"s:string\" />\r\n <s:element
|
96
|
+
minOccurs=\"1\" maxOccurs=\"1\" name=\"SalesTaxAmount\" type=\"s:double\"
|
97
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Jurisdictions\"
|
98
|
+
type=\"tns:ArrayOfSalesTaxValueJurisdiction\" />\r\n </s:sequence>\r\n
|
99
|
+
\ </s:extension>\r\n </s:complexContent>\r\n </s:complexType>\r\n
|
100
|
+
\ <s:complexType name=\"SIWsResultWithStatus\" abstract=\"true\">\r\n
|
101
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
102
|
+
name=\"ItemStatus\" type=\"tns:SIWsStatus\" />\r\n </s:sequence>\r\n
|
103
|
+
\ </s:complexType>\r\n <s:complexType name=\"ArrayOfSalesTaxValueJurisdiction\">\r\n
|
104
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"unbounded\"
|
105
|
+
name=\"SalesTaxValueJurisdiction\" nillable=\"true\" type=\"tns:SalesTaxValueJurisdiction\"
|
106
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
107
|
+
name=\"SalesTaxValueJurisdiction\">\r\n <s:sequence>\r\n <s:element
|
108
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"FIPS\" type=\"s:string\" />\r\n <s:element
|
109
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"Name\" type=\"s:string\" />\r\n <s:element
|
110
|
+
minOccurs=\"1\" maxOccurs=\"1\" name=\"SalesTaxAmount\" type=\"s:decimal\"
|
111
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:element
|
112
|
+
name=\"GetSalesTaxCategories\">\r\n <s:complexType>\r\n <s:sequence>\r\n
|
113
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"UserID\" type=\"s:string\"
|
114
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Password\"
|
115
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
116
|
+
\ </s:element>\r\n <s:element name=\"GetSalesTaxCategoriesResponse\">\r\n
|
117
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
118
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetSalesTaxCategoriesResult\" type=\"tns:SIWsOutputOfArrayOfSalesTaxCategory\"
|
119
|
+
/>\r\n <s:element name=\"SISubscriptionInfo\" type=\"tns:SISubscriptionInfo\"
|
120
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
121
|
+
\ <s:complexType name=\"SIWsOutputOfArrayOfSalesTaxCategory\">\r\n <s:sequence>\r\n
|
122
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ServiceStatus\"
|
123
|
+
type=\"tns:SIWsStatus\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
124
|
+
name=\"ServiceResult\" type=\"tns:ArrayOfSalesTaxCategory\" />\r\n </s:sequence>\r\n
|
125
|
+
\ </s:complexType>\r\n <s:complexType name=\"ArrayOfSalesTaxCategory\">\r\n
|
126
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"unbounded\"
|
127
|
+
name=\"SalesTaxCategory\" nillable=\"true\" type=\"tns:SalesTaxCategory\"
|
128
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
129
|
+
name=\"SalesTaxCategory\">\r\n <s:sequence>\r\n <s:element
|
130
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"Category\" type=\"s:string\" />\r\n
|
131
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"CategoryID\" type=\"s:string\"
|
132
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:element
|
133
|
+
name=\"GetStatusCodesForMethod\">\r\n <s:complexType>\r\n <s:sequence>\r\n
|
134
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"UserID\" type=\"s:string\"
|
135
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Password\"
|
136
|
+
type=\"s:string\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
137
|
+
name=\"MethodName\" type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
138
|
+
\ </s:element>\r\n <s:element name=\"GetStatusCodesForMethodResponse\">\r\n
|
139
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
140
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetStatusCodesForMethodResult\" type=\"tns:SIWsOutputOfMethodStatusRecord\"
|
141
|
+
/>\r\n <s:element name=\"SISubscriptionInfo\" type=\"tns:SISubscriptionInfo\"
|
142
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
143
|
+
\ <s:complexType name=\"SIWsOutputOfMethodStatusRecord\">\r\n <s:sequence>\r\n
|
144
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"ServiceStatus\"
|
145
|
+
type=\"tns:SIWsStatus\" />\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
146
|
+
name=\"ServiceResult\" type=\"tns:MethodStatusRecord\" />\r\n </s:sequence>\r\n
|
147
|
+
\ </s:complexType>\r\n <s:complexType name=\"MethodStatusRecord\">\r\n
|
148
|
+
\ <s:complexContent mixed=\"false\">\r\n <s:extension base=\"tns:SIWsResultArrayOfSIWsStatus\">\r\n
|
149
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
150
|
+
name=\"MethodName\" type=\"s:string\" />\r\n </s:sequence>\r\n
|
151
|
+
\ </s:extension>\r\n </s:complexContent>\r\n </s:complexType>\r\n
|
152
|
+
\ <s:complexType name=\"SIWsResultArrayOfSIWsStatus\">\r\n <s:sequence>\r\n
|
153
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Results\" type=\"tns:ArrayOfSIWsStatus\"
|
154
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
155
|
+
name=\"ArrayOfSIWsStatus\">\r\n <s:sequence>\r\n <s:element
|
156
|
+
minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"SIWsStatus\" nillable=\"true\"
|
157
|
+
type=\"tns:SIWsStatus\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
158
|
+
\ <s:element name=\"GetStatusCodes\">\r\n <s:complexType>\r\n <s:sequence>\r\n
|
159
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"UserID\" type=\"s:string\"
|
160
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Password\"
|
161
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
162
|
+
\ </s:element>\r\n <s:element name=\"GetStatusCodesResponse\">\r\n
|
163
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
164
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetStatusCodesResult\" type=\"tns:SIWsOutputOfSIWsResultArrayOfMethodStatusRecord\"
|
165
|
+
/>\r\n <s:element name=\"SISubscriptionInfo\" type=\"tns:SISubscriptionInfo\"
|
166
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
167
|
+
\ <s:complexType name=\"SIWsOutputOfSIWsResultArrayOfMethodStatusRecord\">\r\n
|
168
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
169
|
+
name=\"ServiceStatus\" type=\"tns:SIWsStatus\" />\r\n <s:element
|
170
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"ServiceResult\" type=\"tns:SIWsResultArrayOfMethodStatusRecord\"
|
171
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
172
|
+
name=\"SIWsResultArrayOfMethodStatusRecord\">\r\n <s:sequence>\r\n
|
173
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Results\" type=\"tns:ArrayOfMethodStatusRecord\"
|
174
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
175
|
+
name=\"ArrayOfMethodStatusRecord\">\r\n <s:sequence>\r\n <s:element
|
176
|
+
minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"MethodStatusRecord\" nillable=\"true\"
|
177
|
+
type=\"tns:MethodStatusRecord\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
178
|
+
\ <s:element name=\"GetServiceInfo\">\r\n <s:complexType>\r\n <s:sequence>\r\n
|
179
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"UserID\" type=\"s:string\"
|
180
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"Password\"
|
181
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
182
|
+
\ </s:element>\r\n <s:element name=\"GetServiceInfoResponse\">\r\n
|
183
|
+
\ <s:complexType>\r\n <s:sequence>\r\n <s:element
|
184
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"GetServiceInfoResult\" type=\"tns:SIWsOutputOfSIWsResultArrayOfServiceInfoRecord\"
|
185
|
+
/>\r\n <s:element name=\"SISubscriptionInfo\" type=\"tns:SISubscriptionInfo\"
|
186
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n </s:element>\r\n
|
187
|
+
\ <s:complexType name=\"SIWsOutputOfSIWsResultArrayOfServiceInfoRecord\">\r\n
|
188
|
+
\ <s:sequence>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\"
|
189
|
+
name=\"ServiceStatus\" type=\"tns:SIWsStatus\" />\r\n <s:element
|
190
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"ServiceResult\" type=\"tns:SIWsResultArrayOfServiceInfoRecord\"
|
191
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
192
|
+
name=\"SIWsResultArrayOfServiceInfoRecord\">\r\n <s:sequence>\r\n <s:element
|
193
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"Results\" type=\"tns:ArrayOfServiceInfoRecord\"
|
194
|
+
/>\r\n </s:sequence>\r\n </s:complexType>\r\n <s:complexType
|
195
|
+
name=\"ArrayOfServiceInfoRecord\">\r\n <s:sequence>\r\n <s:element
|
196
|
+
minOccurs=\"0\" maxOccurs=\"unbounded\" name=\"ServiceInfoRecord\" nillable=\"true\"
|
197
|
+
type=\"tns:ServiceInfoRecord\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
198
|
+
\ <s:complexType name=\"ServiceInfoRecord\">\r\n <s:sequence>\r\n
|
199
|
+
\ <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"InfoKey\" type=\"s:string\"
|
200
|
+
/>\r\n <s:element minOccurs=\"0\" maxOccurs=\"1\" name=\"InfoValue\"
|
201
|
+
type=\"s:string\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
202
|
+
\ <s:complexType name=\"SILicenseInfo\">\r\n <s:sequence>\r\n <s:element
|
203
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"UserID\" type=\"s:string\" />\r\n <s:element
|
204
|
+
minOccurs=\"0\" maxOccurs=\"1\" name=\"Password\" type=\"s:string\" />\r\n
|
205
|
+
\ </s:sequence>\r\n </s:complexType>\r\n <s:element name=\"SILicenseInfo\"
|
206
|
+
type=\"tns:SILicenseInfo\" />\r\n <s:complexType name=\"SISubscriptionInfo\">\r\n
|
207
|
+
\ <s:sequence>\r\n <s:element name=\"LicenseStatusCode\" type=\"s:int\"
|
208
|
+
/>\r\n <s:element minOccurs=\"0\" name=\"LicenseStatus\" type=\"s:string\"
|
209
|
+
/>\r\n <s:element name=\"LicenseActionCode\" type=\"s:int\" />\r\n
|
210
|
+
\ <s:element minOccurs=\"0\" name=\"LicenseAction\" type=\"s:string\"
|
211
|
+
/>\r\n <s:element name=\"RemainingHits\" type=\"s:int\" />\r\n <s:element
|
212
|
+
name=\"Amount\" type=\"s:decimal\" />\r\n </s:sequence>\r\n </s:complexType>\r\n
|
213
|
+
\ <s:element name=\"SISubscriptionInfo\" type=\"tns:SISubscriptionInfo\"
|
214
|
+
/>\r\n </s:schema>\r\n </wsdl:types>\r\n <wsdl:message name=\"GetSalesTaxValueSoapIn\">\r\n
|
215
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetSalesTaxValue\" />\r\n
|
216
|
+
\ </wsdl:message>\r\n <wsdl:message name=\"GetSalesTaxValueSoapOut\">\r\n
|
217
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetSalesTaxValueResponse\"
|
218
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetSalesTaxCategoriesSoapIn\">\r\n
|
219
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetSalesTaxCategories\" />\r\n
|
220
|
+
\ </wsdl:message>\r\n <wsdl:message name=\"GetSalesTaxCategoriesSoapOut\">\r\n
|
221
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetSalesTaxCategoriesResponse\"
|
222
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetStatusCodesForMethodSoapIn\">\r\n
|
223
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetStatusCodesForMethod\"
|
224
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetStatusCodesForMethodSoapOut\">\r\n
|
225
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetStatusCodesForMethodResponse\"
|
226
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetStatusCodesSoapIn\">\r\n
|
227
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetStatusCodes\" />\r\n </wsdl:message>\r\n
|
228
|
+
\ <wsdl:message name=\"GetStatusCodesSoapOut\">\r\n <wsdl:part name=\"parameters\"
|
229
|
+
element=\"tns:GetStatusCodesResponse\" />\r\n </wsdl:message>\r\n <wsdl:message
|
230
|
+
name=\"GetServiceInfoSoapIn\">\r\n <wsdl:part name=\"parameters\" element=\"tns:GetServiceInfo\"
|
231
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetServiceInfoSoapOut\">\r\n
|
232
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:GetServiceInfoResponse\"
|
233
|
+
/>\r\n </wsdl:message>\r\n <wsdl:message name=\"GetRemainingHitsSoapIn\">\r\n
|
234
|
+
\ <wsdl:part name=\"parameters\" element=\"tns:SILicenseInfo\" />\r\n </wsdl:message>\r\n
|
235
|
+
\ <wsdl:message name=\"GetRemainingHitsSoapOut\">\r\n <wsdl:part name=\"parameters\"
|
236
|
+
element=\"tns:SISubscriptionInfo\" />\r\n </wsdl:message>\r\n <wsdl:portType
|
237
|
+
name=\"SpeedTaxSoap\">\r\n <wsdl:operation name=\"GetSalesTaxValue\">\r\n
|
238
|
+
\ <wsdl:input message=\"tns:GetSalesTaxValueSoapIn\" />\r\n <wsdl:output
|
239
|
+
message=\"tns:GetSalesTaxValueSoapOut\" />\r\n </wsdl:operation>\r\n <wsdl:operation
|
240
|
+
name=\"GetSalesTaxCategories\">\r\n <wsdl:input message=\"tns:GetSalesTaxCategoriesSoapIn\"
|
241
|
+
/>\r\n <wsdl:output message=\"tns:GetSalesTaxCategoriesSoapOut\" />\r\n
|
242
|
+
\ </wsdl:operation>\r\n <wsdl:operation name=\"GetStatusCodesForMethod\">\r\n
|
243
|
+
\ <wsdl:documentation xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Gets
|
244
|
+
all status codes a method in the service might return.</wsdl:documentation>\r\n
|
245
|
+
\ <wsdl:input message=\"tns:GetStatusCodesForMethodSoapIn\" />\r\n <wsdl:output
|
246
|
+
message=\"tns:GetStatusCodesForMethodSoapOut\" />\r\n </wsdl:operation>\r\n
|
247
|
+
\ <wsdl:operation name=\"GetStatusCodes\">\r\n <wsdl:documentation
|
248
|
+
xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get all statuses this service
|
249
|
+
might return.</wsdl:documentation>\r\n <wsdl:input message=\"tns:GetStatusCodesSoapIn\"
|
250
|
+
/>\r\n <wsdl:output message=\"tns:GetStatusCodesSoapOut\" />\r\n </wsdl:operation>\r\n
|
251
|
+
\ <wsdl:operation name=\"GetServiceInfo\">\r\n <wsdl:documentation
|
252
|
+
xmlns:wsdl=\"http://schemas.xmlsoap.org/wsdl/\">Get information about the
|
253
|
+
web service</wsdl:documentation>\r\n <wsdl:input message=\"tns:GetServiceInfoSoapIn\"
|
254
|
+
/>\r\n <wsdl:output message=\"tns:GetServiceInfoSoapOut\" />\r\n </wsdl:operation>\r\n
|
255
|
+
\ <wsdl:operation name=\"GetRemainingHits\">\r\n <wsdl:input message=\"tns:GetRemainingHitsSoapIn\"
|
256
|
+
/>\r\n <wsdl:output message=\"tns:GetRemainingHitsSoapOut\" />\r\n </wsdl:operation>\r\n
|
257
|
+
\ </wsdl:portType>\r\n <wsdl:binding name=\"SpeedTaxSoap\" type=\"tns:SpeedTaxSoap\">\r\n
|
258
|
+
\ <soap:binding transport=\"http://schemas.xmlsoap.org/soap/http\" />\r\n
|
259
|
+
\ <wsdl:operation name=\"GetSalesTaxValue\">\r\n <soap:operation soapAction=\"http://www.strikeiron.com/GetSalesTaxValue\"
|
260
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
261
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
262
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
|
263
|
+
name=\"GetSalesTaxCategories\">\r\n <soap:operation soapAction=\"http://www.strikeiron.com/GetSalesTaxCategories\"
|
264
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
265
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
266
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
|
267
|
+
name=\"GetStatusCodesForMethod\">\r\n <soap:operation soapAction=\"http://www.strikeiron.com/GetStatusCodesForMethod\"
|
268
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
269
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
270
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
|
271
|
+
name=\"GetStatusCodes\">\r\n <soap:operation soapAction=\"http://www.strikeiron.com/GetStatusCodes\"
|
272
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
273
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
274
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
|
275
|
+
name=\"GetServiceInfo\">\r\n <soap:operation soapAction=\"http://www.strikeiron.com/GetServiceInfo\"
|
276
|
+
style=\"document\" />\r\n <wsdl:input>\r\n <soap:body use=\"literal\"
|
277
|
+
/>\r\n </wsdl:input>\r\n <wsdl:output>\r\n <soap:body use=\"literal\"
|
278
|
+
/>\r\n </wsdl:output>\r\n </wsdl:operation>\r\n <wsdl:operation
|
279
|
+
name=\"GetRemainingHits\">\r\n <soap:operation soapAction=\"http://wsparam.strikeiron.com/StrikeIron/SpeedTaxSalesTax3/SpeedTax/GetRemainingHits\"
|
280
|
+
/>\r\n <wsdl:input>\r\n <soap:body use=\"literal\" />\r\n </wsdl:input>\r\n
|
281
|
+
\ <wsdl:output>\r\n <soap:body use=\"literal\" />\r\n </wsdl:output>\r\n
|
282
|
+
\ </wsdl:operation>\r\n </wsdl:binding>\r\n <wsdl:service name=\"SpeedTax\">\r\n
|
283
|
+
\ <wsdl:port name=\"SpeedTaxSoap\" binding=\"tns:SpeedTaxSoap\">\r\n <soap:address
|
284
|
+
location=\"http://wsparam.strikeiron.com/StrikeIron/SpeedTaxSalesTax3/SpeedTax\"
|
285
|
+
/>\r\n </wsdl:port>\r\n </wsdl:service>\r\n</wsdl:definitions>"
|
286
|
+
http_version:
|
287
|
+
recorded_at: Thu, 03 May 2012 14:28:00 GMT
|
288
|
+
recorded_with: VCR 2.1.1
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://wsparam.strikeiron.com/StrikeIron/SpeedTaxSalesTax3/SpeedTax
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
9
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://www.strikeiron.com/"
|
10
|
+
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ins0="http://www.strikeiron.com/"><env:Body><GetRemainingHits><wsdl:UserID>user_id</wsdl:UserID><wsdl:Password>password</wsdl:Password></GetRemainingHits></env:Body></env:Envelope>
|
11
|
+
headers:
|
12
|
+
Soapaction:
|
13
|
+
- ! '"http://wsparam.strikeiron.com/StrikeIron/SpeedTaxSalesTax3/SpeedTax/GetRemainingHits"'
|
14
|
+
Content-Type:
|
15
|
+
- text/xml;charset=UTF-8
|
16
|
+
Content-Length:
|
17
|
+
- '450'
|
18
|
+
Accept:
|
19
|
+
- ! '*/*'
|
20
|
+
User-Agent:
|
21
|
+
- Ruby
|
22
|
+
response:
|
23
|
+
status:
|
24
|
+
code: 200
|
25
|
+
message: OK
|
26
|
+
headers:
|
27
|
+
Date:
|
28
|
+
- Thu, 03 May 2012 16:28:46 GMT
|
29
|
+
Server:
|
30
|
+
- Microsoft-IIS/6.0
|
31
|
+
X-Powered-By:
|
32
|
+
- ASP.NET
|
33
|
+
X-Aspnet-Version:
|
34
|
+
- 4.0.30319
|
35
|
+
Cache-Control:
|
36
|
+
- private
|
37
|
+
Content-Type:
|
38
|
+
- text/xml; charset=utf-8
|
39
|
+
Content-Length:
|
40
|
+
- '642'
|
41
|
+
body:
|
42
|
+
encoding: US-ASCII
|
43
|
+
string: ! "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
|
44
|
+
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n
|
45
|
+
\ <soap:Header />\r\n <soap:Body>\r\n <SISubscriptionInfo xmlns=\"http://www.strikeiron.com/\">\r\n
|
46
|
+
\ <LicenseStatusCode>0</LicenseStatusCode>\r\n <LicenseStatus>Valid
|
47
|
+
license key</LicenseStatus>\r\n <LicenseActionCode>5</LicenseActionCode>\r\n
|
48
|
+
\ <LicenseAction>Get remaining hits</LicenseAction>\r\n <RemainingHits>100</RemainingHits>\r\n
|
49
|
+
\ <Amount>0</Amount>\r\n </SISubscriptionInfo>\r\n </soap:Body>\r\n</soap:Envelope>"
|
50
|
+
http_version:
|
51
|
+
recorded_at: Thu, 03 May 2012 16:28:46 GMT
|
52
|
+
recorded_with: VCR 2.1.1
|
@@ -0,0 +1,93 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://wsparam.strikeiron.com/StrikeIron/SpeedTaxSalesTax3/SpeedTax
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: <?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
9
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://www.strikeiron.com/"
|
10
|
+
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ins0="http://www.strikeiron.com/"><env:Body><ins0:GetSalesTaxValue><ins0:UserID>user_id</ins0:UserID><ins0:Password>password</ins0:Password><ins0:ShipFrom><ins0:StreetAddress>One
|
11
|
+
Microsoft Way</ins0:StreetAddress><ins0:City>Redmond</ins0:City><ins0:State>WA</ins0:State><ins0:ZIPCode>98052</ins0:ZIPCode></ins0:ShipFrom><ins0:ShipTo><ins0:StreetAddress>902
|
12
|
+
Broadway</ins0:StreetAddress><ins0:City>New York</ins0:City><ins0:State>NY</ins0:State><ins0:ZIPCode>10010</ins0:ZIPCode></ins0:ShipTo><ins0:TaxValueRequests><ins0:TaxValueRequest><wsdl:SalesTaxCategoryOrCategoryID>01151605</wsdl:SalesTaxCategoryOrCategoryID><wsdl:Amount>239.41</wsdl:Amount></ins0:TaxValueRequest><ins0:TaxValueRequest><wsdl:SalesTaxCategoryOrCategoryID>01151605</wsdl:SalesTaxCategoryOrCategoryID><wsdl:Amount>239.41</wsdl:Amount></ins0:TaxValueRequest></ins0:TaxValueRequests></ins0:GetSalesTaxValue></env:Body></env:Envelope>
|
13
|
+
headers:
|
14
|
+
Soapaction:
|
15
|
+
- ! '"http://www.strikeiron.com/GetSalesTaxValue"'
|
16
|
+
Content-Type:
|
17
|
+
- text/xml;charset=UTF-8
|
18
|
+
Content-Length:
|
19
|
+
- '1173'
|
20
|
+
Accept:
|
21
|
+
- ! '*/*'
|
22
|
+
User-Agent:
|
23
|
+
- Ruby
|
24
|
+
response:
|
25
|
+
status:
|
26
|
+
code: 200
|
27
|
+
message: OK
|
28
|
+
headers:
|
29
|
+
Date:
|
30
|
+
- Thu, 03 May 2012 17:13:19 GMT
|
31
|
+
Server:
|
32
|
+
- Microsoft-IIS/6.0
|
33
|
+
X-Powered-By:
|
34
|
+
- ASP.NET
|
35
|
+
X-Aspnet-Version:
|
36
|
+
- 4.0.30319
|
37
|
+
Cache-Control:
|
38
|
+
- private
|
39
|
+
Content-Type:
|
40
|
+
- text/xml; charset=utf-8
|
41
|
+
Content-Length:
|
42
|
+
- '3970'
|
43
|
+
body:
|
44
|
+
encoding: US-ASCII
|
45
|
+
string: ! "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"
|
46
|
+
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n
|
47
|
+
\ <soap:Body>\r\n <GetSalesTaxValueResponse xmlns=\"http://www.strikeiron.com/\">\r\n
|
48
|
+
\ <GetSalesTaxValueResult>\r\n <ServiceStatus>\r\n <StatusNbr>201</StatusNbr>\r\n
|
49
|
+
\ <StatusDescription>Successful (No Geopoint for From Address)</StatusDescription>\r\n
|
50
|
+
\ </ServiceStatus>\r\n <ServiceResult>\r\n <Results>\r\n
|
51
|
+
\ <TaxValueRecord>\r\n <ItemStatus>\r\n <StatusNbr>200</StatusNbr>\r\n
|
52
|
+
\ <StatusDescription>Found</StatusDescription>\r\n </ItemStatus>\r\n
|
53
|
+
\ <Category>Computer Software (both prewritten and non-prewritten)
|
54
|
+
delivered electronically</Category>\r\n <CategoryID>01151605</CategoryID>\r\n
|
55
|
+
\ <SalesTaxAmount>21.25</SalesTaxAmount>\r\n <Jurisdictions>\r\n
|
56
|
+
\ <SalesTaxValueJurisdiction>\r\n <FIPS>36</FIPS>\r\n
|
57
|
+
\ <Name>New York</Name>\r\n <SalesTaxAmount>9.57</SalesTaxAmount>\r\n
|
58
|
+
\ </SalesTaxValueJurisdiction>\r\n <SalesTaxValueJurisdiction>\r\n
|
59
|
+
\ <FIPS>CTD51000</FIPS>\r\n <Name>METRO COMMUTER
|
60
|
+
TRANS. DISTRICT</Name>\r\n <SalesTaxAmount>0.89</SalesTaxAmount>\r\n
|
61
|
+
\ </SalesTaxValueJurisdiction>\r\n <SalesTaxValueJurisdiction>\r\n
|
62
|
+
\ <FIPS>061</FIPS>\r\n <Name>NEW YORK</Name>\r\n
|
63
|
+
\ <SalesTaxAmount>10.77</SalesTaxAmount>\r\n </SalesTaxValueJurisdiction>\r\n
|
64
|
+
\ </Jurisdictions>\r\n </TaxValueRecord>\r\n <TaxValueRecord>\r\n
|
65
|
+
\ <ItemStatus>\r\n <StatusNbr>200</StatusNbr>\r\n
|
66
|
+
\ <StatusDescription>Found</StatusDescription>\r\n </ItemStatus>\r\n
|
67
|
+
\ <Category>Computer Software (both prewritten and non-prewritten)
|
68
|
+
delivered electronically</Category>\r\n <CategoryID>01151605</CategoryID>\r\n
|
69
|
+
\ <SalesTaxAmount>21.25</SalesTaxAmount>\r\n <Jurisdictions>\r\n
|
70
|
+
\ <SalesTaxValueJurisdiction>\r\n <FIPS>36</FIPS>\r\n
|
71
|
+
\ <Name>New York</Name>\r\n <SalesTaxAmount>9.57</SalesTaxAmount>\r\n
|
72
|
+
\ </SalesTaxValueJurisdiction>\r\n <SalesTaxValueJurisdiction>\r\n
|
73
|
+
\ <FIPS>CTD51000</FIPS>\r\n <Name>METRO COMMUTER
|
74
|
+
TRANS. DISTRICT</Name>\r\n <SalesTaxAmount>0.89</SalesTaxAmount>\r\n
|
75
|
+
\ </SalesTaxValueJurisdiction>\r\n <SalesTaxValueJurisdiction>\r\n
|
76
|
+
\ <FIPS>061</FIPS>\r\n <Name>NEW YORK</Name>\r\n
|
77
|
+
\ <SalesTaxAmount>10.77</SalesTaxAmount>\r\n </SalesTaxValueJurisdiction>\r\n
|
78
|
+
\ </Jurisdictions>\r\n </TaxValueRecord>\r\n </Results>\r\n
|
79
|
+
\ <ResolvedFromAddress>\r\n <StreetAddress>ONE MICROSOFT
|
80
|
+
WAY</StreetAddress>\r\n <City>REDMOND</City>\r\n <State>WA</State>\r\n
|
81
|
+
\ <ZIPCode>98052</ZIPCode>\r\n </ResolvedFromAddress>\r\n
|
82
|
+
\ <ResolvedToAddress>\r\n <StreetAddress>902 BROADWAY</StreetAddress>\r\n
|
83
|
+
\ <City>NEW YORK</City>\r\n <State>NY</State>\r\n <ZIPCode>10010-6041</ZIPCode>\r\n
|
84
|
+
\ </ResolvedToAddress>\r\n <SalesTaxTotal>42.5</SalesTaxTotal>\r\n
|
85
|
+
\ </ServiceResult>\r\n </GetSalesTaxValueResult>\r\n <SISubscriptionInfo>\r\n
|
86
|
+
\ <LicenseStatusCode>0</LicenseStatusCode>\r\n <LicenseStatus>Valid
|
87
|
+
license key</LicenseStatus>\r\n <LicenseActionCode>0</LicenseActionCode>\r\n
|
88
|
+
\ <LicenseAction>Decremented hit count</LicenseAction>\r\n <RemainingHits>97</RemainingHits>\r\n
|
89
|
+
\ <Amount>0</Amount>\r\n </SISubscriptionInfo>\r\n </GetSalesTaxValueResponse>\r\n
|
90
|
+
\ </soap:Body>\r\n</soap:Envelope>"
|
91
|
+
http_version:
|
92
|
+
recorded_at: Thu, 03 May 2012 17:13:19 GMT
|
93
|
+
recorded_with: VCR 2.1.1
|