You need to sign in to do that
Don't have an account?
Problem logging with PHP API
Hi everybody,
I have a problem while trying to login Salesforce, using the PHP API.
Here is the code i'm using :
define('SALESFORCE_USER', 'XXX'); define('SALESFORCE_PASS', 'XXX'); define('SALESFORCE_TOKEN', 'XXX'); define('SALESFORCE_WSDL', "XXX.wsdl"); require_once ('soapclient/SforceEnterpriseClient.php'); ini_set('soap.wsdl_cache_enabled', 0); $crmHandle = new SforceEnterpriseClient(); try { $crmHandle->createConnection(SALESFORCE_WSDL); } catch (Exception $e) {} try { $crmHandle->login(SALESFORCE_USER, SALESFORCE_PASS . SALESFORCE_TOKEN); } catch (Exception $e) { echo $e; }
And i get the following error message :
SoapFault exception: [INVALID_LOGIN] INVALID_LOGIN: Invalid username, password, security token; or user locked out. in soapclient\SforceBaseClient.php:155 Stack trace: #0 [internal function]: SoapClient->__call('login', Array) #1 soapclient\SforceBaseClient.php(155): SoapClient->login(Array) #2 connect.php(33): SforceBaseClient->login('XXX', 'XXX') #3 {main}
Just one more information, i'm working on a sandbox,
maybe is it a reason to my problem ?
Any ideas about it ?
I'm a beginner with that and I need your help...
Thanks in advance
As you suspected, the problem is that you are logging into a sandbox. Make sure that the sandbox suffix is appended to your user name (user@company.com.dev) and that you are using a token generated from the sandbox account. The other thing you need to do is to change the endpoint in the WSDL file from https://www.salesfoce.com to https://test.salesforce.com. with those three changes you should be able to log into your sandbox. You can either edit the WSDL file directory or update the endpoint in your code once you have created the connection, replacing 'www' with 'test'.
Park
All Answers
As you suspected, the problem is that you are logging into a sandbox. Make sure that the sandbox suffix is appended to your user name (user@company.com.dev) and that you are using a token generated from the sandbox account. The other thing you need to do is to change the endpoint in the WSDL file from https://www.salesfoce.com to https://test.salesforce.com. with those three changes you should be able to log into your sandbox. You can either edit the WSDL file directory or update the endpoint in your code once you have created the connection, replacing 'www' with 'test'.
Park
Ok it works now, the problem was the endpoint in the WSDL.
Thanks for your help :)