You need to sign in to do that
Don't have an account?
SUSHEELA 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{}
}
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{}
}