yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Quintiq file version 2.0
#parent: #root
Method Login (String username, String password, String service) as Boolean
{
  TextBody:
  [*
    value := false;
    
    logintoken := this.GetLoginToken();
    
    if( logintoken <> '' )
    {
      path := '/iam/login';
      if( service <> '' )
      {
        path := path + '?service=' + service;
      }
      
      nvtrequest := LibInt_MessageAccessor::CreateEmptyMessage();
      LibInt_MessageAccessor::SetHeaderProperty( nvtrequest, '_QI.ContentType', 'RAW' );
      LibInt_MessageAccessor::SetHeaderProperty( nvtrequest, 'HttpEndpointMethod', 'POST' );
      LibInt_MessageAccessor::SetHeaderProperty( nvtrequest, 'HttpEndpointPath', path );
      LibInt_MessageAccessor::SetHeaderProperty( nvtrequest, 'HTTPHeader.Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8' );
      LibInt_MessageAccessor::SetBodyValueAsString( nvtrequest, 'lt=' + logintoken + '&username=' + username + '&password=' + password + '&rememberMe=yes' );
      
      nvtresponse := LibInt_IntegratorProxy::SyncNvtRequest( 'ThreeDPassport', 'ThreeDPassport', nvtrequest );
      code := LibInt_MessageAccessor::GetHeaderPropertyAsNumber( nvtresponse, 'HTTPResponseCode' );
    
      if( code = 302 )
      {
        value := true;
      }
    }
                                                    
    return value;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}