soteria 1.0.0 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c0cfc2a664b2499ac66b28f0448574b4f051b3b
4
- data.tar.gz: 868b423d6a0be0b622c983be79444f428dcbedff
3
+ metadata.gz: 0eb950fa75e98619d90faf4ef059c4d778ea0087
4
+ data.tar.gz: afd3cb956bed8f00846f1741a612124a2f301c2b
5
5
  SHA512:
6
- metadata.gz: 6563f1bb0d6c1961dd7653e097e45fefed2d61e78b7bbabbb19ca1c66a78610479e9f5aa2163a2ff68d3dbed36c93b489d288319e723b85b6677d9ecf2e8df9e
7
- data.tar.gz: 8e5ee6d25474c868fb929f6defcfa0e4194395b29b66d1b202e16e90d080752c1a40fcbc07ed00f1037cdcc6e51539fefc297f4efac82c13e63a848858a0272c
6
+ metadata.gz: aa6cc378543d13da499fc3825ba4e5f02102366837ba0f4f888d1a1a21a60b60b753bba7cd7515ebebe8351bbeac5fbca4b346103b54b7e7e1eca58d4bc2ab68
7
+ data.tar.gz: a45279763e1cf759b51daca2c46fb4de4ff2e5785ec3f57d2654e16879d97d074ef037f157e7c7753fd417fffffe6d23893dcd12da6656d1335fb5df5cfd318f
@@ -0,0 +1,182 @@
1
+ require 'savon'
2
+ module Soteria
3
+
4
+ class Auth
5
+
6
+ def initialize(cert, key, pw, log)
7
+
8
+ @client = Savon.client(wsdl: 'lib/wsdl/vip_auth.wsdl',
9
+ env_namespace: :soapenv,
10
+ endpoint: 'https://services-auth.vip.symantec.com/mgmt/soap',
11
+ log: log,
12
+ ssl_version: :TLSv1,
13
+ ssl_cert_file: cert,
14
+ ssl_cert_key_file: key,
15
+ ssl_cert_key_password: pw,
16
+ namespace_identifier: :vip)
17
+
18
+ @prov_client = Savon.client(wsdl: 'lib/wsdl/vip_auth.wsdl',
19
+ env_namespace: :soapenv,
20
+ endpoint: 'https://services-auth.vip.symantec.com/prov/soap',
21
+ log: log,
22
+ ssl_version: :TLSv1,
23
+ ssl_cert_file: cert,
24
+ ssl_cert_key_file: key,
25
+ ssl_cert_key_password: pw,
26
+ namespace_identifier: :vip)
27
+
28
+ @val_client = Savon.client(wsdl: 'lib/wsdl/vip_auth.wsdl',
29
+ env_namespace: :soapenv,
30
+ endpoint: 'https://services-auth.vip.symantec.com/val/soap',
31
+ log: log,
32
+ ssl_version: :TLSv1,
33
+ ssl_cert_file: cert,
34
+ ssl_cert_key_file: key,
35
+ ssl_cert_key_password: pw,
36
+ namespace_identifier: :vip)
37
+ end
38
+
39
+
40
+ # Send a temporary password to the token.
41
+ #
42
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
43
+ # @param [Int] pass
44
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
45
+ def set_temp_pass(token_id, pass)
46
+ res = @client.call(:set_temporary_password,
47
+ message: {
48
+ 'vip:TokenId': token_id,
49
+ 'vip:TemporaryPassword': pass
50
+ },
51
+ attributes: {
52
+ 'Version': '3.1',
53
+ 'Id': '123'
54
+ }
55
+ ).body
56
+
57
+ get_return_hash(res[:set_temporary_password_response])
58
+ end
59
+
60
+
61
+ # Use the EnableToken for SMS OTP API to enable a previously disabled SMS OTP credential.
62
+ #
63
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
64
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
65
+ def enable_sms_credentail(token_id)
66
+ res = @client.call(:enable_token,
67
+ message: {
68
+ 'vip:TokenId': token_id,
69
+ 'vip:TemporaryPassword': pass
70
+ },
71
+ attributes: {
72
+ 'Version': '3.1',
73
+ 'Id': '123'
74
+ }
75
+ ).body
76
+
77
+ get_return_hash(res[:enable_token_response])
78
+ end
79
+
80
+
81
+ # Use the DisableToken for SMS OTP API to disable an SMS OTP credential.
82
+ #
83
+ # @param [String] reason The reason for disabling the token.
84
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
85
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
86
+ def disable_sms_credentail(reason, token_id)
87
+ res = @client.call(:disable_token,
88
+ message: {
89
+ 'vip:TokenId': token_id,
90
+ 'vip:TemporaryPassword': pass
91
+ },
92
+ attributes: {
93
+ 'Version': '3.1',
94
+ 'Id': '123'
95
+ }
96
+ ).body
97
+
98
+ get_return_hash(res[:enable_token_response])
99
+ end
100
+
101
+
102
+ # Call when a newly registered SMS OTP credential requires activation
103
+ #
104
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
105
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
106
+ def activate_token(token_id)
107
+ res = @client.call(:activate_token,
108
+ message: {
109
+ 'vip:TokenId': token_id
110
+ },
111
+ attributes: {
112
+ 'Version': '3.1',
113
+ 'Id': '123'
114
+ }
115
+ ).body
116
+
117
+ get_return_hash(res[:activate_token_response])
118
+ end
119
+
120
+
121
+ # Use the DeactivateToken for SMS OTP API to deactivate an SMS OTP credential. If the deactivation is successful, the credential is deactivated.
122
+ #
123
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
124
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
125
+ def deactivate_token(token_id)
126
+ res = @client.call(:deactivate_token,
127
+ message: {
128
+ 'vip:TokenId': token_id
129
+ },
130
+ attributes: {
131
+ 'Version': '3.1',
132
+ 'Id': '123'
133
+ }
134
+ ).body
135
+
136
+ get_return_hash(res[:deactivate_token_response])
137
+ end
138
+
139
+
140
+ # Register a new SMS OTP credential.
141
+ #
142
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
143
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
144
+ def register(token_id)
145
+ res = @prov_client.call(:register,
146
+ message: {
147
+ 'vip:TokenId': token_id,
148
+ attributes!: {
149
+ 'vip:TokenId':
150
+ {
151
+ type: 'SMS'
152
+ }
153
+ }
154
+ },
155
+ attributes: {
156
+ 'Version': '3.1',
157
+ 'Id': '123'
158
+ }
159
+ ).body
160
+
161
+ get_return_hash(res[:enable_token_response])
162
+ end
163
+
164
+
165
+ # Helper function to create the hash to return. All user calls have the same return values.
166
+ #
167
+ # @param [Hash] res
168
+ # @return [Hash] A hash with the appropriate values. Included are: :success - a boolean if the operation was successful,
169
+ def get_return_hash(res)
170
+ response_hash = res[:status]
171
+
172
+ {
173
+ success: response_hash[:reason_code] == '0000',
174
+ message: response_hash[:status_message],
175
+ id: res[:@request_id]
176
+ }
177
+ end
178
+
179
+ end
180
+
181
+ end
182
+
@@ -4,6 +4,7 @@ require 'soteria/sms'
4
4
  require 'soteria/credential'
5
5
  require 'soteria/user'
6
6
  require 'soteria/push'
7
+ require 'soteria/auth'
7
8
 
8
9
  module Soteria
9
10
 
@@ -25,13 +26,15 @@ module Soteria
25
26
  # @cert_key_password = password
26
27
 
27
28
  #[:get_server_time, :get_user_info, :get_credential_info, :get_temporary_password_attributes, :poll_push_status]
28
- @query_client = Utilities.create_client('http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-query-1.7.wsdl', should_log, cert_file, cert_key_file, password)
29
+ @query_client = Utilities.create_client('lib/wsdl/vipuserservices-query-1.7.wsdl', should_log, cert_file, cert_key_file, password)
29
30
 
30
31
  #[:authenticate_user, :authenticate_user_with_push, :authenticate_credentials, :evaluate_risk, :confirm_risk, :deny_risk, :check_otp]
31
- @auth_client = Utilities.create_client('http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-auth-1.7.wsdl', should_log, cert_file, cert_key_file, password)
32
+ @auth_client = Utilities.create_client('lib/wsdl/vipuserservices-auth-1.7.wsdl', should_log, cert_file, cert_key_file, password)
32
33
 
33
34
  #[:create_user, :update_user, :delete_user, :clear_user_pin, :add_credential, :update_credential, :remove_credential, :set_temporary_password, :clear_temporary_password, :set_temporary_password_attributes, :send_otp, :register]
34
- @management_client = Utilities.create_client('http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-mgmt-1.7.wsdl', should_log, cert_file, cert_key_file, password)
35
+ @management_client = Utilities.create_client('lib/wsdl/vipuserservices-mgmt-1.7.wsdl', should_log, cert_file, cert_key_file, password)
36
+
37
+ @auth = Auth.new(cert_file, cert_key_file, password, should_log)
35
38
 
36
39
  @push = Push.new
37
40
  @sms = SMS.new
@@ -321,6 +324,61 @@ module Soteria
321
324
  end
322
325
 
323
326
 
327
+ # Send a temporary password to the token.
328
+ #
329
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
330
+ # @param [Int] pass
331
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
332
+ def set_temp_pass(token_id, pass)
333
+ @auth.set_temp_pass(token_id, pass)
334
+ end
335
+
336
+
337
+ # Use the EnableToken for SMS OTP API to enable a previously disabled SMS OTP credential.
338
+ #
339
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
340
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
341
+ def enable_sms_credentail(token_id)
342
+ @auth.enable_sms_credentail(token_id)
343
+ end
344
+
345
+
346
+ # Use the DisableToken for SMS OTP API to disable an SMS OTP credential.
347
+ #
348
+ # @param [String] reason The reason for disabling the token.
349
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
350
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
351
+ def disable_sms_credentail(reason, token_id)
352
+ @auth.disable_sms_credentail(reason, token_id)
353
+ end
354
+
355
+
356
+ # Call when a newly registered SMS OTP credential requires activation
357
+ #
358
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
359
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
360
+ def activate_token(token_id)
361
+ @auth.activate_token(token_id)
362
+ end
363
+
364
+
365
+ # Use the DeactivateToken for SMS OTP API to deactivate an SMS OTP credential. If the deactivation is successful, the credential is deactivated.
366
+ #
367
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
368
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
369
+ def deactivate_token(token_id)
370
+ @auth.deactivate_token(token_id)
371
+ end
372
+
373
+
374
+ # Register a new SMS OTP credential.
375
+ #
376
+ # @param [Int] token_id Specifies the phone number that identifies the credential to the VIP Web Services. Do not use spaces or dashes.
377
+ # @return [Hash] A hash that contains; :success a boolean if the call succeeded, :message a string with any error message, :id the id of the call for debugging purposes
378
+ def register(token_id)
379
+ @auth.register(token_id)
380
+ end
381
+
324
382
  end
325
383
 
326
384
  end
@@ -1,4 +1,4 @@
1
1
  module Soteria
2
2
  # Version that the gem is on.
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.2"
4
4
  end
@@ -0,0 +1,429 @@
1
+ <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://www.w3.org/2000/09/xmldsig#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:vips="https://schemas.vip.symantec.com/2006/08/vipservice" targetNamespace="https://schemas.vip.symantec.com/2006/08/vipservice"><wsdl:types>
2
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3
+ <xsd:import namespace="https://schemas.vip.symantec.com/2006/08/vipservice" schemaLocation="vip_auth.xsd"/>
4
+ </xsd:schema>
5
+ </wsdl:types><wsdl:message name="GetServerTimeRequest">
6
+ <wsdl:part element="vips:GetServerTime" name="GetServerTime"/>
7
+ </wsdl:message><wsdl:message name="GetServerTimeResponse">
8
+ <wsdl:part element="vips:GetServerTimeResponse" name="GetServerTimeResponse"/>
9
+ </wsdl:message><wsdl:portType name="vipSoapInterface"><wsdl:operation name="GetServerTime">
10
+ <wsdl:input message="vips:GetServerTimeRequest"/>
11
+ <wsdl:output message="vips:GetServerTimeResponse"/>
12
+ </wsdl:operation><wsdl:operation name="ActivateToken">
13
+ <wsdl:input message="vips:ActivateTokenRequest"/>
14
+ <wsdl:output message="vips:ActivateTokenResponse"/>
15
+ </wsdl:operation><wsdl:operation name="DeactivateToken">
16
+ <wsdl:input message="vips:DeactivateTokenRequest"/>
17
+ <wsdl:output message="vips:DeactivateTokenResponse"/>
18
+ </wsdl:operation><wsdl:operation name="EnableToken">
19
+ <wsdl:input message="vips:EnableTokenRequest"/>
20
+ <wsdl:output message="vips:EnableTokenResponse"/>
21
+ </wsdl:operation><wsdl:operation name="DisableToken">
22
+ <wsdl:input message="vips:DisableTokenRequest"/>
23
+ <wsdl:output message="vips:DisableTokenResponse"/>
24
+ </wsdl:operation><wsdl:operation name="UnlockToken">
25
+ <wsdl:input message="vips:UnlockTokenRequest"/>
26
+ <wsdl:output message="vips:UnlockTokenResponse"/>
27
+ </wsdl:operation><wsdl:operation name="Validate">
28
+ <wsdl:input message="vips:ValidateRequest"/>
29
+ <wsdl:output message="vips:ValidateResponse"/>
30
+ </wsdl:operation><wsdl:operation name="Synchronize">
31
+ <wsdl:input message="vips:SynchronizeRequest"/>
32
+ <wsdl:output message="vips:SynchronizeResponse"/>
33
+ </wsdl:operation><wsdl:operation name="ValidateMultiple">
34
+ <wsdl:input message="vips:ValidateMultipleRequest"/>
35
+ <wsdl:output message="vips:ValidateMultipleResponse"/>
36
+ </wsdl:operation><wsdl:operation name="CheckOTP">
37
+ <wsdl:input message="vips:CheckOTPRequest"/>
38
+ <wsdl:output message="vips:CheckOTPResponse"/>
39
+ </wsdl:operation><wsdl:operation name="SetTemporaryPassword">
40
+ <wsdl:input message="vips:SetTemporaryPasswordRequest"/>
41
+ <wsdl:output message="vips:SetTemporaryPasswordResponse"/>
42
+ </wsdl:operation><wsdl:operation name="SetTemporaryPwdExpiration">
43
+ <wsdl:input message="vips:SetTemporaryPwdExpirationRequest"/>
44
+ <wsdl:output message="vips:SetTemporaryPwdExpirationResponse"/>
45
+ </wsdl:operation><wsdl:operation name="GetTemporaryPwdExpiration">
46
+ <wsdl:input message="vips:GetTemporaryPwdExpirationRequest"/>
47
+ <wsdl:output message="vips:GetTemporaryPwdExpirationResponse"/>
48
+ </wsdl:operation><wsdl:operation name="GetTokenInformation">
49
+ <wsdl:input message="vips:GetTokenInformationRequest"/>
50
+ <wsdl:output message="vips:GetTokenInformationResponse"/>
51
+ </wsdl:operation><wsdl:operation name="GetAdminCode">
52
+ <wsdl:input message="vips:GetAdminCodeRequest"/>
53
+ <wsdl:output message="vips:GetAdminCodeResponse"/>
54
+ </wsdl:operation><wsdl:operation name="SendOTP">
55
+ <wsdl:input message="vips:SendOTPRequest"/>
56
+ <wsdl:output message="vips:SendOTPResponse"/>
57
+ </wsdl:operation><wsdl:operation name="Register">
58
+ <wsdl:input message="vips:RegisterRequest"/>
59
+ <wsdl:output message="vips:RegisterResponse"/>
60
+ </wsdl:operation><wsdl:operation name="SendTemporaryPassword">
61
+ <wsdl:input message="vips:SendTemporaryPasswordRequest"/>
62
+ <wsdl:output message="vips:SendTemporaryPasswordResponse"/>
63
+ </wsdl:operation><wsdl:operation name="GenerateTemporaryPassword">
64
+ <wsdl:input message="vips:GenerateTemporaryPasswordRequest"/>
65
+ <wsdl:output message="vips:GenerateTemporaryPasswordResponse"/>
66
+ </wsdl:operation><wsdl:operation name="SubmitTxnVerification">
67
+ <wsdl:input message="vips:SubmitTxnVerificationRequest"/>
68
+ <wsdl:output message="vips:SubmitTxnVerificationResponse"/>
69
+ </wsdl:operation><wsdl:operation name="PollTxnVerification">
70
+ <wsdl:input message="vips:PollTxnVerificationRequest"/>
71
+ <wsdl:output message="vips:PollTxnVerificationResponse"/>
72
+ </wsdl:operation><wsdl:operation name="DeliverTxnOTP">
73
+ <wsdl:input message="vips:DeliverTxnOTPRequest"/>
74
+ <wsdl:output message="vips:DeliverTxnOTPResponse"/>
75
+ </wsdl:operation><wsdl:operation name="VerifyTxnOTP">
76
+ <wsdl:input message="vips:VerifyTxnOTPRequest"/>
77
+ <wsdl:output message="vips:VerifyTxnOTPResponse"/>
78
+ </wsdl:operation><wsdl:operation name="ValidateCR">
79
+ <wsdl:input message="vips:ValidateCRRequest"/>
80
+ <wsdl:output message="vips:ValidateCRResponse"/>
81
+ </wsdl:operation><wsdl:operation name="DeliverSMS">
82
+ <wsdl:input message="vips:DeliverSMSRequest"/>
83
+ <wsdl:output message="vips:DeliverSMSResponse"/>
84
+ </wsdl:operation><wsdl:operation name="GetAdapterConfiguration">
85
+ <wsdl:input message="vips:GetAdapterConfigurationRequest"/>
86
+ <wsdl:output message="vips:GetAdapterConfigurationResponse"/>
87
+ </wsdl:operation><wsdl:operation name="SetAdapterConfiguration">
88
+ <wsdl:input message="vips:SetAdapterConfigurationRequest"/>
89
+ <wsdl:output message="vips:SetAdapterConfigurationResponse"/>
90
+ </wsdl:operation><wsdl:operation name="SetTokenAttributes">
91
+ <wsdl:input message="vips:SetTokenAttributesRequest"/>
92
+ <wsdl:output message="vips:SetTokenAttributesResponse"/>
93
+ </wsdl:operation></wsdl:portType><wsdl:binding name="vipSoapBinding" type="vips:vipSoapInterface"><soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="GetServerTime">
94
+ <soap:operation soapAction=""/>
95
+ <wsdl:input>
96
+ <soap:body use="literal"/>
97
+ </wsdl:input>
98
+ <wsdl:output>
99
+ <soap:body use="literal"/>
100
+ </wsdl:output>
101
+ </wsdl:operation><wsdl:operation name="ActivateToken">
102
+ <soap:operation soapAction=""/>
103
+ <wsdl:input>
104
+ <soap:body use="literal"/>
105
+ </wsdl:input>
106
+ <wsdl:output>
107
+ <soap:body use="literal"/>
108
+ </wsdl:output>
109
+ </wsdl:operation><wsdl:operation name="DeactivateToken">
110
+ <soap:operation soapAction=""/>
111
+ <wsdl:input>
112
+ <soap:body use="literal"/>
113
+ </wsdl:input>
114
+ <wsdl:output>
115
+ <soap:body use="literal"/>
116
+ </wsdl:output>
117
+ </wsdl:operation><wsdl:operation name="EnableToken">
118
+ <soap:operation soapAction=""/>
119
+ <wsdl:input>
120
+ <soap:body use="literal"/>
121
+ </wsdl:input>
122
+ <wsdl:output>
123
+ <soap:body use="literal"/>
124
+ </wsdl:output>
125
+ </wsdl:operation><wsdl:operation name="DisableToken">
126
+ <soap:operation soapAction=""/>
127
+ <wsdl:input>
128
+ <soap:body use="literal"/>
129
+ </wsdl:input>
130
+ <wsdl:output>
131
+ <soap:body use="literal"/>
132
+ </wsdl:output>
133
+ </wsdl:operation><wsdl:operation name="UnlockToken">
134
+ <soap:operation soapAction=""/>
135
+ <wsdl:input>
136
+ <soap:body use="literal"/>
137
+ </wsdl:input>
138
+ <wsdl:output>
139
+ <soap:body use="literal"/>
140
+ </wsdl:output>
141
+ </wsdl:operation><wsdl:operation name="Validate">
142
+ <soap:operation soapAction=""/>
143
+ <wsdl:input>
144
+ <soap:body use="literal"/>
145
+ </wsdl:input>
146
+ <wsdl:output>
147
+ <soap:body use="literal"/>
148
+ </wsdl:output>
149
+ </wsdl:operation><wsdl:operation name="Synchronize">
150
+ <soap:operation soapAction=""/>
151
+ <wsdl:input>
152
+ <soap:body use="literal"/>
153
+ </wsdl:input>
154
+ <wsdl:output>
155
+ <soap:body use="literal"/>
156
+ </wsdl:output>
157
+ </wsdl:operation><wsdl:operation name="ValidateMultiple">
158
+ <soap:operation soapAction=""/>
159
+ <wsdl:input>
160
+ <soap:body use="literal"/>
161
+ </wsdl:input>
162
+ <wsdl:output>
163
+ <soap:body use="literal"/>
164
+ </wsdl:output>
165
+ </wsdl:operation><wsdl:operation name="CheckOTP">
166
+ <soap:operation soapAction=""/>
167
+ <wsdl:input>
168
+ <soap:body use="literal"/>
169
+ </wsdl:input>
170
+ <wsdl:output>
171
+ <soap:body use="literal"/>
172
+ </wsdl:output>
173
+ </wsdl:operation><wsdl:operation name="SetTemporaryPassword">
174
+ <soap:operation soapAction=""/>
175
+ <wsdl:input>
176
+ <soap:body use="literal"/>
177
+ </wsdl:input>
178
+ <wsdl:output>
179
+ <soap:body use="literal"/>
180
+ </wsdl:output>
181
+ </wsdl:operation><wsdl:operation name="SetTemporaryPwdExpiration">
182
+ <soap:operation soapAction=""/>
183
+ <wsdl:input>
184
+ <soap:body use="literal"/>
185
+ </wsdl:input>
186
+ <wsdl:output>
187
+ <soap:body use="literal"/>
188
+ </wsdl:output>
189
+ </wsdl:operation><wsdl:operation name="GetTemporaryPwdExpiration">
190
+ <soap:operation soapAction=""/>
191
+ <wsdl:input>
192
+ <soap:body use="literal"/>
193
+ </wsdl:input>
194
+ <wsdl:output>
195
+ <soap:body use="literal"/>
196
+ </wsdl:output>
197
+ </wsdl:operation><wsdl:operation name="GetTokenInformation">
198
+ <soap:operation soapAction=""/>
199
+ <wsdl:input>
200
+ <soap:body use="literal"/>
201
+ </wsdl:input>
202
+ <wsdl:output>
203
+ <soap:body use="literal"/>
204
+ </wsdl:output>
205
+ </wsdl:operation><wsdl:operation name="GetAdminCode">
206
+ <soap:operation soapAction=""/>
207
+ <wsdl:input>
208
+ <soap:body use="literal"/>
209
+ </wsdl:input>
210
+ <wsdl:output>
211
+ <soap:body use="literal"/>
212
+ </wsdl:output>
213
+ </wsdl:operation><wsdl:operation name="SendOTP">
214
+ <soap:operation soapAction=""/>
215
+ <wsdl:input>
216
+ <soap:body use="literal"/>
217
+ </wsdl:input>
218
+ <wsdl:output>
219
+ <soap:body use="literal"/>
220
+ </wsdl:output>
221
+ </wsdl:operation><wsdl:operation name="Register">
222
+ <soap:operation soapAction=""/>
223
+ <wsdl:input>
224
+ <soap:body use="literal"/>
225
+ </wsdl:input>
226
+ <wsdl:output>
227
+ <soap:body use="literal"/>
228
+ </wsdl:output>
229
+ </wsdl:operation><wsdl:operation name="SendTemporaryPassword">
230
+ <soap:operation soapAction=""/>
231
+ <wsdl:input>
232
+ <soap:body use="literal"/>
233
+ </wsdl:input>
234
+ <wsdl:output>
235
+ <soap:body use="literal"/>
236
+ </wsdl:output>
237
+ </wsdl:operation><wsdl:operation name="GenerateTemporaryPassword">
238
+ <soap:operation soapAction=""/>
239
+ <wsdl:input>
240
+ <soap:body use="literal"/>
241
+ </wsdl:input>
242
+ <wsdl:output>
243
+ <soap:body use="literal"/>
244
+ </wsdl:output>
245
+ </wsdl:operation><wsdl:operation name="SubmitTxnVerification">
246
+ <soap:operation soapAction=""/>
247
+ <wsdl:input>
248
+ <soap:body use="literal"/>
249
+ </wsdl:input>
250
+ <wsdl:output>
251
+ <soap:body use="literal"/>
252
+ </wsdl:output>
253
+ </wsdl:operation><wsdl:operation name="PollTxnVerification">
254
+ <soap:operation soapAction=""/>
255
+ <wsdl:input>
256
+ <soap:body use="literal"/>
257
+ </wsdl:input>
258
+ <wsdl:output>
259
+ <soap:body use="literal"/>
260
+ </wsdl:output>
261
+ </wsdl:operation><wsdl:operation name="DeliverTxnOTP">
262
+ <soap:operation soapAction=""/>
263
+ <wsdl:input>
264
+ <soap:body use="literal"/>
265
+ </wsdl:input>
266
+ <wsdl:output>
267
+ <soap:body use="literal"/>
268
+ </wsdl:output>
269
+ </wsdl:operation><wsdl:operation name="VerifyTxnOTP">
270
+ <soap:operation soapAction=""/>
271
+ <wsdl:input>
272
+ <soap:body use="literal"/>
273
+ </wsdl:input>
274
+ <wsdl:output>
275
+ <soap:body use="literal"/>
276
+ </wsdl:output>
277
+ </wsdl:operation><wsdl:operation name="ValidateCR">
278
+ <soap:operation soapAction=""/>
279
+ <wsdl:input>
280
+ <soap:body use="literal"/>
281
+ </wsdl:input>
282
+ <wsdl:output>
283
+ <soap:body use="literal"/>
284
+ </wsdl:output>
285
+ </wsdl:operation><wsdl:operation name="DeliverSMS">
286
+ <soap:operation soapAction=""/>
287
+ <wsdl:input>
288
+ <soap:body use="literal"/>
289
+ </wsdl:input>
290
+ <wsdl:output>
291
+ <soap:body use="literal"/>
292
+ </wsdl:output>
293
+ </wsdl:operation><wsdl:operation name="GetAdapterConfiguration">
294
+ <soap:operation soapAction=""/>
295
+ <wsdl:input>
296
+ <soap:body use="literal"/>
297
+ </wsdl:input>
298
+ <wsdl:output>
299
+ <soap:body use="literal"/>
300
+ </wsdl:output>
301
+ </wsdl:operation><wsdl:operation name="SetAdapterConfiguration">
302
+ <soap:operation soapAction=""/>
303
+ <wsdl:input>
304
+ <soap:body use="literal"/>
305
+ </wsdl:input>
306
+ <wsdl:output>
307
+ <soap:body use="literal"/>
308
+ </wsdl:output>
309
+ </wsdl:operation><wsdl:operation name="SetTokenAttributes">
310
+ <soap:operation soapAction=""/>
311
+ <wsdl:input>
312
+ <soap:body use="literal"/>
313
+ </wsdl:input>
314
+ <wsdl:output>
315
+ <soap:body use="literal"/>
316
+ </wsdl:output>
317
+ </wsdl:operation></wsdl:binding><wsdl:service name="vipSoapInterfaceService">
318
+ <wsdl:port binding="vips:vipSoapBinding" name="vipServiceAPI">
319
+ <soap:address location="https://vipservices-auth.verisign.com/prov/soap"/>
320
+ </wsdl:port>
321
+ </wsdl:service><wsdl:message name="ActivateTokenRequest">
322
+ <wsdl:part element="vips:ActivateToken" name="ActivateToken"/>
323
+ </wsdl:message><wsdl:message name="ActivateTokenResponse">
324
+ <wsdl:part element="vips:ActivateTokenResponse" name="ActivateTokenResponse"/>
325
+ </wsdl:message><wsdl:message name="DeactivateTokenRequest">
326
+ <wsdl:part element="vips:DeactivateToken" name="DeactivateToken"/>
327
+ </wsdl:message><wsdl:message name="DeactivateTokenResponse">
328
+ <wsdl:part element="vips:DeactivateTokenResponse" name="DeactivateTokenResponse"/>
329
+ </wsdl:message><wsdl:message name="EnableTokenRequest">
330
+ <wsdl:part element="vips:EnableToken" name="EnableToken"/>
331
+ </wsdl:message><wsdl:message name="EnableTokenResponse">
332
+ <wsdl:part element="vips:EnableTokenResponse" name="EnableTokenResponse"/>
333
+ </wsdl:message><wsdl:message name="DisableTokenRequest">
334
+ <wsdl:part element="vips:DisableToken" name="DisableToken"/>
335
+ </wsdl:message><wsdl:message name="DisableTokenResponse">
336
+ <wsdl:part element="vips:DisableTokenResponse" name="DisableTokenResponse"/>
337
+ </wsdl:message><wsdl:message name="UnlockTokenRequest">
338
+ <wsdl:part element="vips:UnlockToken" name="UnlockToken"/>
339
+ </wsdl:message><wsdl:message name="UnlockTokenResponse">
340
+ <wsdl:part element="vips:UnlockTokenResponse" name="UnlockTokenResponse"/>
341
+ </wsdl:message><wsdl:message name="ValidateRequest">
342
+ <wsdl:part element="vips:Validate" name="Validate"/>
343
+ </wsdl:message><wsdl:message name="ValidateResponse">
344
+ <wsdl:part element="vips:ValidateResponse" name="ValidateResponse"/>
345
+ </wsdl:message><wsdl:message name="SynchronizeRequest">
346
+ <wsdl:part element="vips:Synchronize" name="Synchronize"/>
347
+ </wsdl:message><wsdl:message name="SynchronizeResponse">
348
+ <wsdl:part element="vips:SynchronizeResponse" name="SynchronizeResponse"/>
349
+ </wsdl:message><wsdl:message name="ValidateMultipleRequest">
350
+ <wsdl:part element="vips:ValidateMultiple" name="ValidateMultiple"/>
351
+ </wsdl:message><wsdl:message name="ValidateMultipleResponse">
352
+ <wsdl:part element="vips:ValidateMultipleResponse" name="ValidateMultipleResponse"/>
353
+ </wsdl:message><wsdl:message name="CheckOTPRequest">
354
+ <wsdl:part element="vips:CheckOTP" name="CheckOTP"/>
355
+ </wsdl:message><wsdl:message name="CheckOTPResponse">
356
+ <wsdl:part element="vips:CheckOTPResponse" name="CheckOTPResponse"/>
357
+ </wsdl:message><wsdl:message name="SetTemporaryPasswordRequest">
358
+ <wsdl:part element="vips:SetTemporaryPassword" name="SetTemporaryPassword"/>
359
+ </wsdl:message><wsdl:message name="SetTemporaryPasswordResponse">
360
+ <wsdl:part element="vips:SetTemporaryPasswordResponse" name="SetTemporaryPasswordResponse"/>
361
+ </wsdl:message><wsdl:message name="SetTemporaryPwdExpirationRequest">
362
+ <wsdl:part element="vips:SetTemporaryPwdExpiration" name="SetTemporaryPwdExpiration"/>
363
+ </wsdl:message><wsdl:message name="SetTemporaryPwdExpirationResponse">
364
+ <wsdl:part element="vips:SetTemporaryPwdExpirationResponse" name="SetTemporaryPwdExpirationResponse"/>
365
+ </wsdl:message><wsdl:message name="GetTemporaryPwdExpirationRequest">
366
+ <wsdl:part element="vips:GetTemporaryPwdExpiration" name="GetTemporaryPwdExpiration"/>
367
+ </wsdl:message><wsdl:message name="GetTemporaryPwdExpirationResponse">
368
+ <wsdl:part element="vips:GetTemporaryPwdExpirationResponse" name="GetTemporaryPwdExpirationResponse"/>
369
+ </wsdl:message><wsdl:message name="GetTokenInformationRequest">
370
+ <wsdl:part element="vips:GetTokenInformation" name="GetTokenInformation"/>
371
+ </wsdl:message><wsdl:message name="GetTokenInformationResponse">
372
+ <wsdl:part element="vips:GetTokenInformationResponse" name="GetTokenInformationResponse"/>
373
+ </wsdl:message><wsdl:message name="GetAdminCodeRequest">
374
+ <wsdl:part element="vips:GetAdminCode" name="GetAdminCode"/>
375
+ </wsdl:message><wsdl:message name="GetAdminCodeResponse">
376
+ <wsdl:part element="vips:GetAdminCodeResponse" name="GetAdminCodeResponse"/>
377
+ </wsdl:message><wsdl:message name="SendOTPRequest">
378
+ <wsdl:part element="vips:SendOTP" name="SendOTP"/>
379
+ </wsdl:message><wsdl:message name="SendOTPResponse">
380
+ <wsdl:part element="vips:SendOTPResponse" name="SendOTPResponse"/>
381
+ </wsdl:message><wsdl:message name="RegisterRequest">
382
+ <wsdl:part element="vips:Register" name="Register"/>
383
+ </wsdl:message><wsdl:message name="RegisterResponse">
384
+ <wsdl:part element="vips:RegisterResponse" name="RegisterResponse"/>
385
+ </wsdl:message><wsdl:message name="SendTemporaryPasswordRequest">
386
+ <wsdl:part element="vips:SendTemporaryPassword" name="SendTemporaryPassword"/>
387
+ </wsdl:message><wsdl:message name="SendTemporaryPasswordResponse">
388
+ <wsdl:part element="vips:SendTemporaryPasswordResponse" name="SendTemporaryPasswordResponse"/>
389
+ </wsdl:message><wsdl:message name="GenerateTemporaryPasswordRequest">
390
+ <wsdl:part element="vips:GenerateTemporaryPassword" name="GenerateTemporaryPassword"/>
391
+ </wsdl:message><wsdl:message name="GenerateTemporaryPasswordResponse">
392
+ <wsdl:part element="vips:GenerateTemporaryPasswordResponse" name="GenerateTemporaryPasswordResponse"/>
393
+ </wsdl:message><wsdl:message name="SubmitTxnVerificationRequest">
394
+ <wsdl:part element="vips:SubmitTxnVerification" name="SubmitTxnVerification"/>
395
+ </wsdl:message><wsdl:message name="SubmitTxnVerificationResponse">
396
+ <wsdl:part element="vips:SubmitTxnVerificationResponse" name="SubmitTxnVerificationResponse"/>
397
+ </wsdl:message><wsdl:message name="PollTxnVerificationRequest">
398
+ <wsdl:part element="vips:PollTxnVerification" name="PollTxnVerification"/>
399
+ </wsdl:message><wsdl:message name="PollTxnVerificationResponse">
400
+ <wsdl:part element="vips:PollTxnVerificationResponse" name="PollTxnVerificationResponse"/>
401
+ </wsdl:message><wsdl:message name="DeliverTxnOTPRequest">
402
+ <wsdl:part element="vips:DeliverTxnOTP" name="DeliverTxnOTP"/>
403
+ </wsdl:message><wsdl:message name="DeliverTxnOTPResponse">
404
+ <wsdl:part element="vips:DeliverTxnOTPResponse" name="DeliverTxnOTPResponse"/>
405
+ </wsdl:message><wsdl:message name="VerifyTxnOTPRequest">
406
+ <wsdl:part element="vips:VerifyTxnOTP" name="VerifyTxnOTP"/>
407
+ </wsdl:message><wsdl:message name="VerifyTxnOTPResponse">
408
+ <wsdl:part element="vips:VerifyTxnOTPResponse" name="VerifyTxnOTPResponse"/>
409
+ </wsdl:message><wsdl:message name="ValidateCRRequest">
410
+ <wsdl:part element="vips:ValidateCR" name="ValidateCR"/>
411
+ </wsdl:message><wsdl:message name="ValidateCRResponse">
412
+ <wsdl:part element="vips:ValidateCRResponse" name="ValidateCRResponse"/>
413
+ </wsdl:message><wsdl:message name="DeliverSMSRequest">
414
+ <wsdl:part element="vips:DeliverSMS" name="DeliverSMS"/>
415
+ </wsdl:message><wsdl:message name="DeliverSMSResponse">
416
+ <wsdl:part element="vips:DeliverSMSResponse" name="DeliverSMSResponse"/>
417
+ </wsdl:message><wsdl:message name="GetAdapterConfigurationRequest">
418
+ <wsdl:part element="vips:GetAdapterConfiguration" name="GetAdapterConfiguration"/>
419
+ </wsdl:message><wsdl:message name="GetAdapterConfigurationResponse">
420
+ <wsdl:part element="vips:GetAdapterConfigurationResponse" name="GetAdapterConfigurationResponse"/>
421
+ </wsdl:message><wsdl:message name="SetAdapterConfigurationRequest">
422
+ <wsdl:part element="vips:SetAdapterConfiguration" name="SetAdapterConfiguration"/>
423
+ </wsdl:message><wsdl:message name="SetAdapterConfigurationResponse">
424
+ <wsdl:part element="vips:SetAdapterConfigurationResponse" name="SetAdapterConfigurationResponse"/>
425
+ </wsdl:message><wsdl:message name="SetTokenAttributesRequest">
426
+ <wsdl:part element="vips:SetTokenAttributes" name="SetTokenAttributes"/>
427
+ </wsdl:message><wsdl:message name="SetTokenAttributesResponse">
428
+ <wsdl:part element="vips:SetTokenAttributesResponse" name="SetTokenAttributesResponse"/>
429
+ </wsdl:message></wsdl:definitions>