Name

global.LDAPClientUtils

Description

LDAP client callable utils

Script

gs.include("LDAPUtils");

var LDAPClientUtils = Class.create();
LDAPClientUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {
  
  testOUConnection: function() {
      var ouSysId = this.getParameter("sysparm_ouSysId");
      var ldapOu = new GlideRecord("ldap_ou_config");
      ldapOu.get(ouSysId);
      
      var result = this.newItem("result");
      var error = this.newItem("error");
      result.appendChild(error);
      
      var ldapConnectionTester = new GlideLDAPTestConnectionProcessor(ldapOu.server.toString(), ouSysId);
      var testResult = false;
      try {
          testResult = ldapConnectionTester.testConnection();
          error.setAttribute('code', gs.getSession().getProperty("ldap_test.errorCode"));
          
          var message = this.newItem('message');
          message.setAttribute('value', GlideXMLUtil.removeInvalidChars(gs.getSession().getProperty("ldap_test.errorMessage")));
          error.appendChild(message);
      }catch(e) {
          error.setAttribute('code', "41000");
          var message = this.newItem('message');
          message.setAttribute('value', GlideXMLUtil.removeInvalidChars(e.getMessage()));
          error.appendChild(message);
      }
      
      return testResult;
  },
  
  testServerConnection: function() {
      var serverSysId = this.getParameter("sysparm_serverSysId");
      
      var result = this.newItem("result");
      var error = this.newItem("error");
      result.appendChild(error);
      
      var ldapConnectionTester = new GlideLDAPTestConnectionProcessor(serverSysId, null);
      var testResult = false;
      try {
          testResult = ldapConnectionTester.testConnection();
          error.setAttribute('code', gs.getSession().getProperty("ldap_test.errorCode"));
          
          var message = this.newItem('message');
          message.setAttribute('value', GlideXMLUtil.removeInvalidChars(gs.getSession().getProperty("ldap_test.errorMessage")));
          error.appendChild(message);
      }catch(e) {
          error.setAttribute('code', "41000");
          var message = this.newItem('message');
          message.setAttribute('value', GlideXMLUtil.removeInvalidChars(e.getMessage()));
          error.appendChild(message);
      }
      
      return testResult;
  },
  
  testServerURLConnections: function() {
      var serverSysId = this.getParameter("sysparm_serverSysId");
      
      var result = this.newItem("result");
      var errors = this.newItem("errors");
      result.appendChild(errors);

      var markUpAuthoritative    = true;
      var markDownAuthoritative  = true;        
      var ldapConnectionTester = new GlideLDAPTestConnectionProcessor(serverSysId, null, markUpAuthoritative, markDownAuthoritative);
      var testResult = false;
      try {
          testResult = ldapConnectionTester.testServerURLConnections();
          var allURLConnResults = gs.getSession().getProperty("ldap_test.all_urls.result");
          // Clear results in session
          gs.getSession().clearProperty("ldap_test.all_urls.result");
          
          var urlresultIterator = allURLConnResults.iterator();
          var allSuccessful = true;
          while(urlresultIterator.hasNext()) {
  			var ldapURL = urlresultIterator.next();
  			if(ldapURL.getTestErrorCode() == 0)
  				continue;// Do not show successful messages
  			
              var error = this.newItem("error");
              errors.appendChild(error);
              
              error.setAttribute('id', ldapURL.getID());
              error.setAttribute('url', ldapURL.getURL());
              error.setAttribute('code', ldapURL.getTestErrorCode());
              
              if(ldapURL.getTestErrorCode() != 0)
                  allSuccessful = false;
              
              var message = this.newItem('message');
              message.setAttribute('value', GlideXMLUtil.removeInvalidChars(ldapURL.getURL() + ' ' + ldapURL.getTestErrorMessage()));
              error.appendChild(message);
          }
          if(allSuccessful == true) {
              result.removeChild(errors);
              errors = this.newItem("errors");
              result.appendChild(errors);
              var error = this.newItem("error");
              errors.appendChild(error);
              error.setAttribute('code', 0);
              
              var message = this.newItem('message');
              message.setAttribute('value', "Connected Successfully");
              error.appendChild(message);
          }
      } catch(e) {
          var error = this.newItem("error");
          errors.appendChild(error);
          error.setAttribute('code', "41000");
          var message = this.newItem('message');
          message.setAttribute('value', GlideXMLUtil.removeInvalidChars(e.getMessage()));
          error.appendChild(message);
      }
      
      return testResult;
  },
  
  type: 'LDAPClientUtils'
});

Sys ID

03f911531b310100227e5581be0713d7

Offical Documentation

Official Docs: