function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
SUSHEELA KUCHIMANCHISUSHEELA KUCHIMANCHI 

system.NullPointerException in the below code

global with sharing class Loginsalesforcesoap {

    private static final String NS_SOAP = 'http://schemas.xmlsoap.org/soap/envelope/';
    private static final String NS_SF = 'urn:partner.soap.sforce.com';
   
global static string login()
     {
    List<Integration__C> ic       = Integration__C.getall().values();
       String password,user;
       if(ic.size()>0){
       if(ic[0].Name=='PartsRestAPILogin'){
                      // key= ic[0].Key__c;
                       password = ic[0].Password__c;
                     //  token = ic[0].Token__c;
                       user = ic[0].UserName__c;
       }
       } 
      // String password,user;  
      // user='susheela.kuchimanchi@navistar.com.navpart';
       //password='satyasai9';
        // As per http://wiki.developerforce.com/page/Enterprise_Login
        HttpRequest  req = new HttpRequest();
        req.setMethod('POST');   
        req.setTimeout(60000);
        req.setEndpoint(URL.getSalesforceBaseUrl().toExternalForm() +'/services/Soap/u/37.0');
        req.setHeader('Content-Type', 'text/xml;charset=UTF-8');        
        req.setHeader('SOAPAction', '""');
        req.setBody('<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Header/><Body><login xmlns="urn:partner.soap.sforce.com"><username>' +user+ '</username><password>' + password + '</password></login></Body></Envelope>');        
        HttpResponse res =  new Http().send(req);
       System.debug(res);
         if(res.getStatusCode() != 200)
        {
            Dom.Document responseDocument = res.getBodyDocument();
            Dom.Xmlnode rootElm = responseDocument.getRootElement(); // soapenv:Envelope
            Dom.Xmlnode bodyElm = rootElm.getChildElement('Body', NS_SOAP); // soapenv:Body 
            Dom.Xmlnode faultElm = bodyElm.getChildElement('Fault', NS_SOAP); // soapenv:Fault
            Dom.Xmlnode faultStringElm = faultElm.getChildElement('faultstring', null); // faultstring          
            system.debug('the statuscode is not 200 ');
            system.debug(faultStringElm);
            throw new LoginException(faultStringElm.getText()); 
 
        }
        system.debug('the statuscode is 200');
        Dom.Document responseDocument = res.getBodyDocument();
        Dom.Xmlnode rootElm = responseDocument.getRootElement(); // soapenv:Envelope
        system.debug('rootElm is:'+rootElm);
        Dom.Xmlnode bodyElm = rootElm.getChildElement('Body', NS_SOAP); // soapenv:Body 
         system.debug('bodyelm is:'+bodyElm);
        Dom.Xmlnode loginResponseElm = bodyElm.getChildElement('loginResponse', NS_SF); // loginResponse
       system.debug('loginResponseElm:'+loginResponseElm);
         Dom.Xmlnode resultElm = loginResponseElm.getChildElement('result', NS_SF); // result
         system.debug('resultElm:'+resultElm);
        Dom.Xmlnode sessionIdElm = resultElm.getChildElement('sessionId', NS_SF); // sessionId
         system.debug('sessionid is:'+sessionIdElm.getText());
        return sessionIdElm.getText();
    }      

  public class LoginException extends Exception{}
}