Guest User

Untitled

a guest
Dec 6th, 2017
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. public class loginsalesforce {
  2. private static final String NS_SOAP = 'http://schemas.xmlsoap.org/soap/envelope/';
  3. private static final String NS_SF = 'urn:partner.soap.sforce.com';
  4.  
  5. public static String login() {
  6. string user = 'email';
  7. string password = '***';
  8.  
  9. HttpRequest req = new HttpRequest();
  10. req.setMethod('POST');
  11. req.setTimeout(60000);
  12. req.setEndpoint('https://login.salesforce.com/services/Soap/u/29.0');
  13. req.setHeader('Content-Type', 'text/xml;charset=UTF-8');
  14. req.setHeader('SOAPAction', '""');
  15. 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>');
  16. HttpResponse res = new Http().send(req);
  17. system.debug('response' + res);
  18. system.debug('response' + res.getBody());
  19. if (res.getStatusCode() != 200) {
  20. Dom.Document responseDocument = res.getBodyDocument();
  21. Dom.Xmlnode rootElm = responseDocument.getRootElement(); // soapenv:Envelope
  22. Dom.Xmlnode bodyElm = rootElm.getChildElement('Body', NS_SOAP); // soapenv:Body
  23. Dom.Xmlnode faultElm = bodyElm.getChildElement('Fault', NS_SOAP); // soapenv:Fault
  24. Dom.Xmlnode faultStringElm = faultElm.getChildElement('faultstring', null); // faultstring
  25. throw new LoginException(faultStringElm.getText());
  26. }
  27. // As per http://wiki.developerforce.com/page/Enterprise_Login
  28. Dom.Document responseDocument = res.getBodyDocument();
  29. Dom.Xmlnode rootElm = responseDocument.getRootElement(); // soapenv:Envelope
  30. Dom.Xmlnode bodyElm = rootElm.getChildElement('Body', NS_SOAP); // soapenv:Body
  31. Dom.Xmlnode loginResponseElm = bodyElm.getChildElement('loginResponse', NS_SF); // loginResponse
  32. Dom.Xmlnode resultElm = loginResponseElm.getChildElement('result', NS_SF); // result
  33. Dom.Xmlnode sessionIdElm = resultElm.getChildElement('sessionId', NS_SF); // sessionId
  34. return sessionIdElm.getText();
  35. }
  36. public class LoginException extends Exception {}
  37. }
Add Comment
Please, Sign In to add comment