sunspot4r 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,432 @@
1
+ require 'sunspot4r/base_sunspot_service_client'
2
+
3
+ module Sunspot4R
4
+
5
+ # TODO Documentation
6
+ class SecurityServiceClient < BaseSunspotServiceClient
7
+
8
+ # Name of the Sunspot service. Used to build SOAPAction URLs dynamically.
9
+ def service_name
10
+ 'SecurityService'
11
+ end
12
+
13
+ # Logs a user into Sunspot with a Console account and returns a
14
+ # ConsoleLoginResult object.
15
+ #
16
+ # Response body XML:
17
+ #
18
+ # <ConsoleLoginResponse xmlns="http://sunspot.arcsolutionsinc.com/Services">
19
+ # <ConsoleLoginResult xmlns:a="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Results" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
20
+ # <a:ApiFaults xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API"/>
21
+ # <a:Errors xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.Types"/>
22
+ # <a:Exception i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System"/>
23
+ # <a:Success>true</a:Success>
24
+ # <a:AutoLoginHash>634058740546510610|0d10000008e3422893b32d07cb9a92f7ni1VZG+JIOAEF07B+kJvAFka89o0NThiMGQxMzhiNTZkYjA4YzcyYzliMzM2MmQzZjU4ZQ==</a:AutoLoginHash>
25
+ # <a:NextShortcut xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Objects.Command">
26
+ # <b:AdditionalInformation xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
27
+ # <b:CommandName>Console.Home</b:CommandName>
28
+ # <b:CommandSessionID i:nil="true"/>
29
+ # <b:ContextGuid>0556b99c-f967-476e-b7cb-85524a5fa947</b:ContextGuid>
30
+ # <b:InstanceUrl>https://live.connect.daxko.com/</b:InstanceUrl>
31
+ # <b:Key i:nil="true"/>
32
+ # <b:Label i:nil="true"/>
33
+ # <b:PortalEndpointGuid i:nil="true"/>
34
+ # <b:State>Start</b:State>
35
+ # <b:TransferredCommandSessionID i:nil="true"/>
36
+ # <b:Url>https://live.connect.daxko.com/CommandDispatch.aspx?cmd=Console.Home&amp;context=0556b99c-f967-476e-b7cb-85524a5fa947&amp;state=Start&amp;userKey=634057024546510610%7c0d10000008e3422893b32d07cb9a92f7SLAEP%2frcllHE%2bDD1HqnICyAuE5o0NThiMGQxMzhiNTZkYjA4YzcyYzliMzM2MmQzZjU4ZQ%3d%3d</b:Url>
37
+ # <b:UserKey>634057024546510610|0d10000008e3422893b32d07cb9a92f7SLAEP/rcllHE+DD1HqnICyAuE5o0NThiMGQxMzhiNTZkYjA4YzcyYzliMzM2MmQzZjU4ZQ==</b:UserKey>
38
+ # </a:NextShortcut>
39
+ # <a:SessionGuid>bd6a42fb-bb90-4556-b5e6-474d0f3e8b41</a:SessionGuid>
40
+ # <a:SunspotUri i:nil="true"/>
41
+ # <a:User xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Objects.Base">
42
+ # <b:CanUpsert>true</b:CanUpsert>
43
+ # <b:Fields xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
44
+ # <c:KeyValueOfstringanyType>
45
+ # <c:Key>Parent_Guid</c:Key>
46
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">09d00000-e45e-49b7-99f5-4880a03b2276</c:Value>
47
+ # </c:KeyValueOfstringanyType>
48
+ # <c:KeyValueOfstringanyType>
49
+ # <c:Key>Parent_Name</c:Key>
50
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Army Engineer Association</c:Value>
51
+ # </c:KeyValueOfstringanyType>
52
+ # <c:KeyValueOfstringanyType>
53
+ # <c:Key>Parent_Type</c:Key>
54
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Customer</c:Value>
55
+ # </c:KeyValueOfstringanyType>
56
+ # <c:KeyValueOfstringanyType>
57
+ # <c:Key>Customer_Guid</c:Key>
58
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">09d00000-e45e-49b7-99f5-4880a03b2276</c:Value>
59
+ # </c:KeyValueOfstringanyType>
60
+ # <c:KeyValueOfstringanyType>
61
+ # <c:Key>Customer_Type</c:Key>
62
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Customer</c:Value>
63
+ # </c:KeyValueOfstringanyType>
64
+ # <c:KeyValueOfstringanyType>
65
+ # <c:Key>Customer_Name</c:Key>
66
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Army Engineer Association</c:Value>
67
+ # </c:KeyValueOfstringanyType>
68
+ # <c:KeyValueOfstringanyType>
69
+ # <c:Key>HomeCommand</c:Key>
70
+ # <c:Value i:type="d:CommandShortcut" xmlns:d="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Objects.Command">
71
+ # <d:AdditionalInformation/>
72
+ # <d:CommandName i:nil="true"/>
73
+ # <d:CommandSessionID i:nil="true"/>
74
+ # <d:ContextGuid i:nil="true"/>
75
+ # <d:InstanceUrl i:nil="true"/>
76
+ # <d:Key i:nil="true"/>
77
+ # <d:Label i:nil="true"/>
78
+ # <d:PortalEndpointGuid i:nil="true"/>
79
+ # <d:State>Start</d:State>
80
+ # <d:TransferredCommandSessionID i:nil="true"/>
81
+ # <d:Url>/CommandDispatch.aspx?cmd=&amp;context=&amp;state=Start</d:Url>
82
+ # <d:UserKey i:nil="true"/>
83
+ # </c:Value>
84
+ # </c:KeyValueOfstringanyType>
85
+ # <c:KeyValueOfstringanyType>
86
+ # <c:Key>SunspotAPIAccessAllowed</c:Key>
87
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
88
+ # </c:KeyValueOfstringanyType>
89
+ # <c:KeyValueOfstringanyType>
90
+ # <c:Key>DataLoaderAccessAllowed</c:Key>
91
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
92
+ # </c:KeyValueOfstringanyType>
93
+ # <c:KeyValueOfstringanyType>
94
+ # <c:Key>LoginID</c:Key>
95
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">tsummerville-aeae-console</c:Value>
96
+ # </c:KeyValueOfstringanyType>
97
+ # <c:KeyValueOfstringanyType>
98
+ # <c:Key>DisplayName</c:Key>
99
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Tony Summerville</c:Value>
100
+ # </c:KeyValueOfstringanyType>
101
+ # <c:KeyValueOfstringanyType>
102
+ # <c:Key>FirstName</c:Key>
103
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Tony</c:Value>
104
+ # </c:KeyValueOfstringanyType>
105
+ # <c:KeyValueOfstringanyType>
106
+ # <c:Key>LastName</c:Key>
107
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville</c:Value>
108
+ # </c:KeyValueOfstringanyType>
109
+ # <c:KeyValueOfstringanyType>
110
+ # <c:Key>Email</c:Key>
111
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">tsummerville@daxko.com</c:Value>
112
+ # </c:KeyValueOfstringanyType>
113
+ # <c:KeyValueOfstringanyType>
114
+ # <c:Key>Password</c:Key>
115
+ # <c:Value i:nil="true"/>
116
+ # </c:KeyValueOfstringanyType>
117
+ # <c:KeyValueOfstringanyType>
118
+ # <c:Key>PasswordBytes</c:Key>
119
+ # <c:Value i:type="d:base64Binary" xmlns:d="http://www.w3.org/2001/XMLSchema">172H1Yvbgm0xMvV/6sOfmV5J1U42MjM1Y2YxZTlkZjNjNjM0NmJmM2JjNjgzNDVkNmY1Yw==</c:Value>
120
+ # </c:KeyValueOfstringanyType>
121
+ # <c:KeyValueOfstringanyType>
122
+ # <c:Key>Culture</c:Key>
123
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">en</c:Value>
124
+ # </c:KeyValueOfstringanyType>
125
+ # <c:KeyValueOfstringanyType>
126
+ # <c:Key>TimeZone</c:Key>
127
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">CST</c:Value>
128
+ # </c:KeyValueOfstringanyType>
129
+ # <c:KeyValueOfstringanyType>
130
+ # <c:Key>IsActive</c:Key>
131
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">true</c:Value>
132
+ # </c:KeyValueOfstringanyType>
133
+ # <c:KeyValueOfstringanyType>
134
+ # <c:Key>MustUpdatePassword</c:Key>
135
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
136
+ # </c:KeyValueOfstringanyType>
137
+ # <c:KeyValueOfstringanyType>
138
+ # <c:Key>Name</c:Key>
139
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville, Tony</c:Value>
140
+ # </c:KeyValueOfstringanyType>
141
+ # <c:KeyValueOfstringanyType>
142
+ # <c:Key>IsDeleted</c:Key>
143
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
144
+ # </c:KeyValueOfstringanyType>
145
+ # <c:KeyValueOfstringanyType>
146
+ # <c:Key>CreatedBy_Guid</c:Key>
147
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0d100000-087f-454e-b004-e54e93bf532f</c:Value>
148
+ # </c:KeyValueOfstringanyType>
149
+ # <c:KeyValueOfstringanyType>
150
+ # <c:Key>CreatedBy_Type</c:Key>
151
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User</c:Value>
152
+ # </c:KeyValueOfstringanyType>
153
+ # <c:KeyValueOfstringanyType>
154
+ # <c:Key>CreatedBy_Name</c:Key>
155
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville, Tony</c:Value>
156
+ # </c:KeyValueOfstringanyType>
157
+ # <c:KeyValueOfstringanyType>
158
+ # <c:Key>CreatedDate</c:Key>
159
+ # <c:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2010-03-26T09:58:54-04:00</c:Value>
160
+ # </c:KeyValueOfstringanyType>
161
+ # <c:KeyValueOfstringanyType>
162
+ # <c:Key>LastModifiedBy_Guid</c:Key>
163
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0d100000-087f-454e-b004-e54e93bf532f</c:Value>
164
+ # </c:KeyValueOfstringanyType>
165
+ # <c:KeyValueOfstringanyType>
166
+ # <c:Key>LastModifiedBy_Type</c:Key>
167
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User</c:Value>
168
+ # </c:KeyValueOfstringanyType>
169
+ # <c:KeyValueOfstringanyType>
170
+ # <c:Key>LastModifiedBy_Name</c:Key>
171
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville, Tony</c:Value>
172
+ # </c:KeyValueOfstringanyType>
173
+ # <c:KeyValueOfstringanyType>
174
+ # <c:Key>LastModifiedDate</c:Key>
175
+ # <c:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2010-03-26T10:00:06-04:00</c:Value>
176
+ # </c:KeyValueOfstringanyType>
177
+ # <c:KeyValueOfstringanyType>
178
+ # <c:Key>SystemModstamp</c:Key>
179
+ # <c:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2010-03-26T10:00:06-04:00</c:Value>
180
+ # </c:KeyValueOfstringanyType>
181
+ # <c:KeyValueOfstringanyType>
182
+ # <c:Key>Guid</c:Key>
183
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0d100000-08e3-4228-93b3-2d07cb9a92f7</c:Value>
184
+ # </c:KeyValueOfstringanyType>
185
+ # <c:KeyValueOfstringanyType>
186
+ # <c:Key>Locked</c:Key>
187
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
188
+ # </c:KeyValueOfstringanyType>
189
+ # <c:KeyValueOfstringanyType>
190
+ # <c:Key>ExistsInRepository</c:Key>
191
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">true</c:Value>
192
+ # </c:KeyValueOfstringanyType>
193
+ # <c:KeyValueOfstringanyType>
194
+ # <c:Key>RepositoryKey</c:Key>
195
+ # <c:Value i:type="d:long" xmlns:d="http://www.w3.org/2001/XMLSchema">13683</c:Value>
196
+ # </c:KeyValueOfstringanyType>
197
+ # </b:Fields>
198
+ # <b:Namespace>ARC.Polaris.Domain.Supporting.Security</b:Namespace>
199
+ # <b:ParentTypes xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
200
+ # <c:string>ConsoleUser</c:string>
201
+ # <c:string>User</c:string>
202
+ # <c:string>SystemDomainObject</c:string>
203
+ # <c:string>AggregateDomainObject</c:string>
204
+ # <c:string>DomainObject</c:string>
205
+ # </b:ParentTypes>
206
+ # <b:Type>CustomerUser</b:Type>
207
+ # <b:_canUpsert>true</b:_canUpsert>
208
+ # </a:User>
209
+ # </ConsoleLoginResult>
210
+ # </ConsoleLoginResponse>
211
+ #
212
+ def console_login(username, password)
213
+ response = call :console_login! do |soap|
214
+ soap.body = {
215
+ "wsdl:userName" => username,
216
+ "wsdl:password" => password,
217
+ :order! => ["wsdl:userName", "wsdl:password"]
218
+ }
219
+ end
220
+ response.to_hash[:console_login_response][:console_login_result]
221
+ end
222
+
223
+ # Logs a user into Sunspot with a Portal account and returns a
224
+ # PortalLoginResult object.
225
+ #
226
+ # Response body XML:
227
+ #
228
+ # <PortalLoginResponse xmlns="http://sunspot.arcsolutionsinc.com/Services">
229
+ # <PortalLoginResult xmlns:a="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Results" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
230
+ # <a:ApiFaults xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API"/>
231
+ # <a:Errors xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.Types"/>
232
+ # <a:Exception i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System"/>
233
+ # <a:Success>true</a:Success>
234
+ # <a:AutoLoginHash>duCft90CUX%2bYk5u6hVrzlQ%3d%3d</a:AutoLoginHash>
235
+ # <a:NextShortcut i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Objects.Command"/>
236
+ # <a:SessionGuid>a5fea11c-1294-471b-b222-c588364d0466</a:SessionGuid>
237
+ # <a:SunspotUri i:nil="true"/>
238
+ # <a:User xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Objects.Base">
239
+ # <b:CanUpsert>true</b:CanUpsert>
240
+ # <b:Fields xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
241
+ # <c:KeyValueOfstringanyType>
242
+ # <c:Key>RepositoryKey</c:Key>
243
+ # <c:Value i:type="d:long" xmlns:d="http://www.w3.org/2001/XMLSchema">279589</c:Value>
244
+ # </c:KeyValueOfstringanyType>
245
+ # <c:KeyValueOfstringanyType>
246
+ # <c:Key>AdditionalEntities</c:Key>
247
+ # <c:Value i:type="b:ArrayOfPolarisObject"/>
248
+ # </c:KeyValueOfstringanyType>
249
+ # <c:KeyValueOfstringanyType>
250
+ # <c:Key>LoginID</c:Key>
251
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">tsummerville-aeae</c:Value>
252
+ # </c:KeyValueOfstringanyType>
253
+ # <c:KeyValueOfstringanyType>
254
+ # <c:Key>FirstName</c:Key>
255
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Tony</c:Value>
256
+ # </c:KeyValueOfstringanyType>
257
+ # <c:KeyValueOfstringanyType>
258
+ # <c:Key>LastName</c:Key>
259
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville</c:Value>
260
+ # </c:KeyValueOfstringanyType>
261
+ # <c:KeyValueOfstringanyType>
262
+ # <c:Key>Name</c:Key>
263
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville, Tony</c:Value>
264
+ # </c:KeyValueOfstringanyType>
265
+ # <c:KeyValueOfstringanyType>
266
+ # <c:Key>Email</c:Key>
267
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">tsummerville@daxko.com</c:Value>
268
+ # </c:KeyValueOfstringanyType>
269
+ # <c:KeyValueOfstringanyType>
270
+ # <c:Key>PasswordBytes</c:Key>
271
+ # <c:Value i:type="d:base64Binary" xmlns:d="http://www.w3.org/2001/XMLSchema">172H1Yvbgm0xMvV/6sOfmV5J1U42MjM1Y2YxZTlkZjNjNjM0NmJmM2JjNjgzNDVkNmY1Yw==</c:Value>
272
+ # </c:KeyValueOfstringanyType>
273
+ # <c:KeyValueOfstringanyType>
274
+ # <c:Key>Culture</c:Key>
275
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">en</c:Value>
276
+ # </c:KeyValueOfstringanyType>
277
+ # <c:KeyValueOfstringanyType>
278
+ # <c:Key>TimeZone</c:Key>
279
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">CST</c:Value>
280
+ # </c:KeyValueOfstringanyType>
281
+ # <c:KeyValueOfstringanyType>
282
+ # <c:Key>ExternalId</c:Key>
283
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">tsummerville-aeae</c:Value>
284
+ # </c:KeyValueOfstringanyType>
285
+ # <c:KeyValueOfstringanyType>
286
+ # <c:Key>IsActive</c:Key>
287
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">true</c:Value>
288
+ # </c:KeyValueOfstringanyType>
289
+ # <c:KeyValueOfstringanyType>
290
+ # <c:Key>Comments</c:Key>
291
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Testing the comment field...</c:Value>
292
+ # </c:KeyValueOfstringanyType>
293
+ # <c:KeyValueOfstringanyType>
294
+ # <c:Key>MustUpdatePassword</c:Key>
295
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
296
+ # </c:KeyValueOfstringanyType>
297
+ # <c:KeyValueOfstringanyType>
298
+ # <c:Key>MustUpdateProfile</c:Key>
299
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
300
+ # </c:KeyValueOfstringanyType>
301
+ # <c:KeyValueOfstringanyType>
302
+ # <c:Key>Locked</c:Key>
303
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
304
+ # </c:KeyValueOfstringanyType>
305
+ # <c:KeyValueOfstringanyType>
306
+ # <c:Key>IsDeleted</c:Key>
307
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</c:Value>
308
+ # </c:KeyValueOfstringanyType>
309
+ # <c:KeyValueOfstringanyType>
310
+ # <c:Key>CreatedDate</c:Key>
311
+ # <c:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2010-03-26T09:56:16-04:00</c:Value>
312
+ # </c:KeyValueOfstringanyType>
313
+ # <c:KeyValueOfstringanyType>
314
+ # <c:Key>LastModifiedDate</c:Key>
315
+ # <c:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2010-03-26T09:56:16-04:00</c:Value>
316
+ # </c:KeyValueOfstringanyType>
317
+ # <c:KeyValueOfstringanyType>
318
+ # <c:Key>SystemModstamp</c:Key>
319
+ # <c:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2010-03-26T09:56:16-04:00</c:Value>
320
+ # </c:KeyValueOfstringanyType>
321
+ # <c:KeyValueOfstringanyType>
322
+ # <c:Key>Association_Guid</c:Key>
323
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0556b99c-f967-476e-b7cb-85524a5fa947</c:Value>
324
+ # </c:KeyValueOfstringanyType>
325
+ # <c:KeyValueOfstringanyType>
326
+ # <c:Key>Association_Type</c:Key>
327
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Association</c:Value>
328
+ # </c:KeyValueOfstringanyType>
329
+ # <c:KeyValueOfstringanyType>
330
+ # <c:Key>Association_Name</c:Key>
331
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">AEA Events</c:Value>
332
+ # </c:KeyValueOfstringanyType>
333
+ # <c:KeyValueOfstringanyType>
334
+ # <c:Key>Guid</c:Key>
335
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">04985524-5c78-4ec7-9a2d-d8ce24942397</c:Value>
336
+ # </c:KeyValueOfstringanyType>
337
+ # <c:KeyValueOfstringanyType>
338
+ # <c:Key>Entity_Guid</c:Key>
339
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">00685524-e0fb-4a55-880f-ad9c6cdb90ab</c:Value>
340
+ # </c:KeyValueOfstringanyType>
341
+ # <c:KeyValueOfstringanyType>
342
+ # <c:Key>Entity_Type</c:Key>
343
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Entity</c:Value>
344
+ # </c:KeyValueOfstringanyType>
345
+ # <c:KeyValueOfstringanyType>
346
+ # <c:Key>Entity_Name</c:Key>
347
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville, Tony</c:Value>
348
+ # </c:KeyValueOfstringanyType>
349
+ # <c:KeyValueOfstringanyType>
350
+ # <c:Key>CreatedBy_Guid</c:Key>
351
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0d100000-087f-454e-b004-e54e93bf532f</c:Value>
352
+ # </c:KeyValueOfstringanyType>
353
+ # <c:KeyValueOfstringanyType>
354
+ # <c:Key>CreatedBy_Type</c:Key>
355
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User</c:Value>
356
+ # </c:KeyValueOfstringanyType>
357
+ # <c:KeyValueOfstringanyType>
358
+ # <c:Key>CreatedBy_Name</c:Key>
359
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville, Tony</c:Value>
360
+ # </c:KeyValueOfstringanyType>
361
+ # <c:KeyValueOfstringanyType>
362
+ # <c:Key>LastModifiedBy_Guid</c:Key>
363
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0d100000-087f-454e-b004-e54e93bf532f</c:Value>
364
+ # </c:KeyValueOfstringanyType>
365
+ # <c:KeyValueOfstringanyType>
366
+ # <c:Key>LastModifiedBy_Type</c:Key>
367
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User</c:Value>
368
+ # </c:KeyValueOfstringanyType>
369
+ # <c:KeyValueOfstringanyType>
370
+ # <c:Key>LastModifiedBy_Name</c:Key>
371
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Summerville, Tony</c:Value>
372
+ # </c:KeyValueOfstringanyType>
373
+ # <c:KeyValueOfstringanyType>
374
+ # <c:Key>Impersonator</c:Key>
375
+ # <c:Value i:nil="true"/>
376
+ # </c:KeyValueOfstringanyType>
377
+ # <c:KeyValueOfstringanyType>
378
+ # <c:Key>ReturnUrl</c:Key>
379
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">https://live.connect.daxko.com/commandDispatch.aspx?cmd=Portal.Home&amp;context=04785524-a59c-4623-8dcb-9e8d5bc06070&amp;userKey=634215279700117842%7c049855245c784ec79a2dd8ce24942397v6TDZKuNn0VFdFm1kkJQR7gl1UI0NThiMGQxMzhiNTZkYjA4YzcyYzliMzM2MmQzZjU4ZQ%3d%3d</c:Value>
380
+ # </c:KeyValueOfstringanyType>
381
+ # <c:KeyValueOfstringanyType>
382
+ # <c:Key>Parent_Guid</c:Key>
383
+ # <c:Value i:nil="true"/>
384
+ # </c:KeyValueOfstringanyType>
385
+ # <c:KeyValueOfstringanyType>
386
+ # <c:Key>Parent_Name</c:Key>
387
+ # <c:Value i:nil="true"/>
388
+ # </c:KeyValueOfstringanyType>
389
+ # <c:KeyValueOfstringanyType>
390
+ # <c:Key>Parent_Type</c:Key>
391
+ # <c:Value i:nil="true"/>
392
+ # </c:KeyValueOfstringanyType>
393
+ # <c:KeyValueOfstringanyType>
394
+ # <c:Key>DisplayName</c:Key>
395
+ # <c:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Tony Summerville</c:Value>
396
+ # </c:KeyValueOfstringanyType>
397
+ # <c:KeyValueOfstringanyType>
398
+ # <c:Key>Password</c:Key>
399
+ # <c:Value i:nil="true"/>
400
+ # </c:KeyValueOfstringanyType>
401
+ # <c:KeyValueOfstringanyType>
402
+ # <c:Key>ExistsInRepository</c:Key>
403
+ # <c:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">true</c:Value>
404
+ # </c:KeyValueOfstringanyType>
405
+ # </b:Fields>
406
+ # <b:Namespace>ARC.Polaris.Domain.Supporting.Security</b:Namespace>
407
+ # <b:ParentTypes xmlns:c="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
408
+ # <c:string>User</c:string>
409
+ # <c:string>SystemDomainObject</c:string>
410
+ # <c:string>AggregateDomainObject</c:string>
411
+ # <c:string>DomainObject</c:string>
412
+ # </b:ParentTypes>
413
+ # <b:Type>PortalUser</b:Type>
414
+ # <b:_canUpsert>true</b:_canUpsert>
415
+ # </a:User>
416
+ # </PortalLoginResult>
417
+ # </PortalLoginResponse>
418
+ #
419
+ def portal_login(association_guid, username, password)
420
+ response = call :portal_login! do |soap|
421
+ soap.body = {
422
+ "wsdl:associationGuid" => association_guid,
423
+ "wsdl:userName" => username,
424
+ "wsdl:password" => password,
425
+ :order! => ["wsdl:associationGuid", "wsdl:userName", "wsdl:password"]
426
+ }
427
+ end
428
+ response.to_hash[:portal_login_response][:portal_login_result]
429
+ end
430
+
431
+ end
432
+ end
@@ -0,0 +1,184 @@
1
+ require 'sunspot4r/base_sunspot_service_client'
2
+
3
+ module Sunspot4R
4
+
5
+ # System services allow you to retrieve system level information via the
6
+ # Sunspot layer.
7
+ class SystemServiceClient < BaseSunspotServiceClient
8
+
9
+ # Name of the Sunspot service. Used to build SOAPAction URLs dynamically.
10
+ def service_name
11
+ 'SystemService'
12
+ end
13
+
14
+ def initialize(base_url = 'https://live-sunspot.connect.daxko.com/Live', options = {})
15
+ super base_url, options
16
+ end
17
+
18
+ # Returns a URL constant for the Sunspot instance that is responsible for
19
+ # actions against the given Association.
20
+ #
21
+ # Response body XML:
22
+ #
23
+ # <GetSunspotUriResponse xmlns="http://sunspot.arcsolutionsinc.com/Services">
24
+ # <GetSunspotUriResult xmlns:a="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Results" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
25
+ # <a:ApiFaults xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API"/>
26
+ # <a:Errors xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.Types"/>
27
+ # <a:Exception i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System"/>
28
+ # <a:Success>true</a:Success>
29
+ # <a:Uri>https://live-sunspot.connect.daxko.com/Live</a:Uri>
30
+ # </GetSunspotUriResult>
31
+ # </GetSunspotUriResponse>
32
+ #
33
+ def get_sunspot_uri(association_guid)
34
+ response = call :get_sunspot_uri! do |soap|
35
+ soap.body = {'wsdl:associationGuid' => association_guid}
36
+ end
37
+ response.to_hash[:get_sunspot_uri_response][:get_sunspot_uri_result]
38
+ end
39
+
40
+ # Returns an array of the customer objects available for the logged in user.
41
+ #
42
+ # Response body XML:
43
+ #
44
+ # <GetAvailableCustomersForUserResponse xmlns="http://sunspot.arcsolutionsinc.com/Services">
45
+ # <GetAvailableCustomersForUserResult xmlns:a="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Results" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
46
+ # <a:ApiFaults xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API"/>
47
+ # <a:Errors xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.Types"/>
48
+ # <a:Exception i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System"/>
49
+ # <a:Success>true</a:Success>
50
+ # <a:Objects xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
51
+ # <b:anyType i:type="c:PolarisObject" xmlns:c="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Objects.Base">
52
+ # <c:CanUpsert>true</c:CanUpsert>
53
+ # <c:Fields>
54
+ # <b:KeyValueOfstringanyType>
55
+ # <b:Key>Parent_Guid</b:Key>
56
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">09c74df3-fc70-4714-abb8-abd10917ba20</b:Value>
57
+ # </b:KeyValueOfstringanyType>
58
+ # <b:KeyValueOfstringanyType>
59
+ # <b:Key>Parent_Name</b:Key>
60
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">ARC Solutions, Inc.</b:Value>
61
+ # </b:KeyValueOfstringanyType>
62
+ # <b:KeyValueOfstringanyType>
63
+ # <b:Key>Parent_Type</b:Key>
64
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Reseller</b:Value>
65
+ # </b:KeyValueOfstringanyType>
66
+ # <b:KeyValueOfstringanyType>
67
+ # <b:Key>Reseller_Guid</b:Key>
68
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">09c74df3-fc70-4714-abb8-abd10917ba20</b:Value>
69
+ # </b:KeyValueOfstringanyType>
70
+ # <b:KeyValueOfstringanyType>
71
+ # <b:Key>Reseller_Type</b:Key>
72
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">Reseller</b:Value>
73
+ # </b:KeyValueOfstringanyType>
74
+ # <b:KeyValueOfstringanyType>
75
+ # <b:Key>Reseller_Name</b:Key>
76
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">ARC Solutions, Inc.</b:Value>
77
+ # </b:KeyValueOfstringanyType>
78
+ # <b:KeyValueOfstringanyType>
79
+ # <b:Key>IsDeleted</b:Key>
80
+ # <b:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">false</b:Value>
81
+ # </b:KeyValueOfstringanyType>
82
+ # <b:KeyValueOfstringanyType>
83
+ # <b:Key>CreatedBy_Guid</b:Key>
84
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0d1053c3-4118-48ae-8e4c-860563972a66</b:Value>
85
+ # </b:KeyValueOfstringanyType>
86
+ # <b:KeyValueOfstringanyType>
87
+ # <b:Key>CreatedBy_Type</b:Key>
88
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User</b:Value>
89
+ # </b:KeyValueOfstringanyType>
90
+ # <b:KeyValueOfstringanyType>
91
+ # <b:Key>CreatedBy_Name</b:Key>
92
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User, Test</b:Value>
93
+ # </b:KeyValueOfstringanyType>
94
+ # <b:KeyValueOfstringanyType>
95
+ # <b:Key>CreatedDate</b:Key>
96
+ # <b:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2006-12-19T10:24:45-05:00</b:Value>
97
+ # </b:KeyValueOfstringanyType>
98
+ # <b:KeyValueOfstringanyType>
99
+ # <b:Key>LastModifiedBy_Guid</b:Key>
100
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">0d1053c3-4118-48ae-8e4c-860563972a66</b:Value>
101
+ # </b:KeyValueOfstringanyType>
102
+ # <b:KeyValueOfstringanyType>
103
+ # <b:Key>LastModifiedBy_Type</b:Key>
104
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User</b:Value>
105
+ # </b:KeyValueOfstringanyType>
106
+ # <b:KeyValueOfstringanyType>
107
+ # <b:Key>LastModifiedBy_Name</b:Key>
108
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">User, Test</b:Value>
109
+ # </b:KeyValueOfstringanyType>
110
+ # <b:KeyValueOfstringanyType>
111
+ # <b:Key>LastModifiedDate</b:Key>
112
+ # <b:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2007-01-30T17:49:43-05:00</b:Value>
113
+ # </b:KeyValueOfstringanyType>
114
+ # <b:KeyValueOfstringanyType>
115
+ # <b:Key>SystemModstamp</b:Key>
116
+ # <b:Value i:type="d:dateTime" xmlns:d="http://www.w3.org/2001/XMLSchema">2007-01-30T17:49:43-05:00</b:Value>
117
+ # </b:KeyValueOfstringanyType>
118
+ # <b:KeyValueOfstringanyType>
119
+ # <b:Key>Guid</b:Key>
120
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">09d91c93-0cc8-4a00-a676-d1068dfc43d3</b:Value>
121
+ # </b:KeyValueOfstringanyType>
122
+ # <b:KeyValueOfstringanyType>
123
+ # <b:Key>Name</b:Key>
124
+ # <b:Value i:type="d:string" xmlns:d="http://www.w3.org/2001/XMLSchema">ARC Solutions, Inc.</b:Value>
125
+ # </b:KeyValueOfstringanyType>
126
+ # <b:KeyValueOfstringanyType>
127
+ # <b:Key>Locked</b:Key>
128
+ # <b:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">true</b:Value>
129
+ # </b:KeyValueOfstringanyType>
130
+ # <b:KeyValueOfstringanyType>
131
+ # <b:Key>ExistsInRepository</b:Key>
132
+ # <b:Value i:type="d:boolean" xmlns:d="http://www.w3.org/2001/XMLSchema">true</b:Value>
133
+ # </b:KeyValueOfstringanyType>
134
+ # <b:KeyValueOfstringanyType>
135
+ # <b:Key>RepositoryKey</b:Key>
136
+ # <b:Value i:type="d:long" xmlns:d="http://www.w3.org/2001/XMLSchema">1</b:Value>
137
+ # </b:KeyValueOfstringanyType>
138
+ # </c:Fields>
139
+ # <c:Namespace>ARC.Polaris.Domain.Core.Sys</c:Namespace>
140
+ # <c:ParentTypes>
141
+ # <b:string>ResellerDomainObject</b:string>
142
+ # <b:string>AggregateDomainObject</b:string>
143
+ # <b:string>DomainObject</b:string>
144
+ # </c:ParentTypes>
145
+ # <c:Type>Customer</c:Type>
146
+ # <c:_canUpsert>true</c:_canUpsert>
147
+ # </b:anyType>
148
+ # </a:Objects>
149
+ # </GetAvailableCustomersForUserResult>
150
+ # </GetAvailableCustomersForUserResponse>
151
+ def get_available_customers_for_user
152
+ response = call :get_available_customers_for_user
153
+ response.to_hash[:get_available_customers_for_user_response][:get_available_customers_for_user_result]
154
+ end
155
+
156
+ #Returns version info for sunspot
157
+ #Response body XML:
158
+ #<GetSunspotVersionResponse xmlns="http://sunspot.arcsolutionsinc.com/Services">
159
+ # <GetSunspotVersionResult xmlns:a="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API.Results" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
160
+ # <a:ApiFaults xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.API"/>
161
+ # <a:Errors xmlns:b="http://schemas.datacontract.org/2004/07/ARC.Polaris.Common.Types"/>
162
+ # <a:Exception i:nil="true" xmlns:b="http://schemas.datacontract.org/2004/07/System"/>
163
+ # <a:Success>true</a:Success>
164
+ # <a:Build>548</a:Build>
165
+ # <a:MajorVersion>2008</a:MajorVersion>
166
+ # <a:MinorVersion>4</a:MinorVersion>
167
+ # <a:Revision>2</a:Revision>
168
+ # </GetSunspotVersionResult>
169
+ #</GetSunspotVersionResponse>
170
+ def get_version
171
+ response = call :get_sunspot_version
172
+ response.to_hash[:get_sunspot_version_response][:get_sunspot_version_result]
173
+ end
174
+
175
+ def get_available_association_for_user(guid)
176
+ response = call :get_available_association_for_user do |soap|
177
+ soap.body = {"wsdl:userGuid" => guid}
178
+ end
179
+ response.to_hash[:get_available_association_for_user_response][:get_available_association_for_user_result]
180
+ end
181
+
182
+ end
183
+
184
+ end