You need to sign in to do that
Don't have an account?
Developer99
Element {} item is invalid Can anyone explain this error ?
Hi,
When we are connecting to sfdc using the SOAP API we are receiving an error message:
ini_set("soap.wsdl_cache_enabled", "0");
ini_set(E_ALL,1);
ini_set('display_errors',1);
// Include the PHP Toolkit
require_once('salesforceAPI/soapclient/SforcePartnerClient.php');
require_once('salesforceAPI/soapclient/SforceHeaderOptions.php');
// Login
define('USER','dddd@sfdc.com');
define('PASSWORD', 'defr234');
define('SECURITY_KEY', 'awed2341xIm3WAoq6I6XoHxG');
//echo userName;
//echo password;
//echo securitytoken;
$sfdc = new SforcePartnerClient();
$SoapClient = $sfdc->createConnection('salesforceAPI/partner.wsdl.xml');
$loginResult = false;
try {
// log in with username, password and security token if required
$loginResult = $sfdc->login(USER, PASSWORD . SECURITY_KEY);
} catch (Exception $e) {
global $errors;
$errors = $e->faultstring;
echo "Fatal Login Error <b>" . $errors . "</b>";
die;
}
// Define constants for the web service. We'll use these later
$parsedURL = parse_url($sfdc->getLocation());
define ("_SFDC_SERVER_", substr($parsedURL['host'],0,strpos($parsedURL['host'], '.')));
define ("_WS_NAME_", 'salesforceAPI/Ctest');
define ("_WS_WSDL_", _WS_NAME_ . '.xml');
define ("_WS_ENDPOINT_", 'https://' . _SFDC_SERVER_ . '.salesforce.com/services/wsdl/class/' . _WS_NAME_);
define ("_WS_NAMESPACE_", 'http://soap.sforce.com/schemas/class/' . _WS_NAME_);
$client = new SoapClient(_WS_WSDL_);
$sforce_header = new SoapHeader(_WS_NAMESPACE_, "SessionHeader", array("sessionId" => $sfdc->getSessionId()));
$client->__setSoapHeaders(array($sforce_header));
$method = $client->__getFunctions();
echo _SFDC_SERVER_."<br>";
echo _WS_NAME_."<br>";
echo _WS_WSDL_."<br>";
echo _WS_ENDPOINT_."<br>";
echo _WS_NAMESPACE_."<br>";
//
try {
$wsParams=array('name' =>'hhhi');
// call the web service via post
$client->cInsert($wsParams);
// this is really bad.
} catch (Exception $e) {
global $errors;
$errors = $e->faultstring;
echo "Ooop! Error: <b>" . $errors . "</b>";
die;
}
When we are connecting to sfdc using the SOAP API we are receiving an error message:
ini_set("soap.wsdl_cache_enabled", "0");
ini_set(E_ALL,1);
ini_set('display_errors',1);
// Include the PHP Toolkit
require_once('salesforceAPI/soapclient/SforcePartnerClient.php');
require_once('salesforceAPI/soapclient/SforceHeaderOptions.php');
// Login
define('USER','dddd@sfdc.com');
define('PASSWORD', 'defr234');
define('SECURITY_KEY', 'awed2341xIm3WAoq6I6XoHxG');
//echo userName;
//echo password;
//echo securitytoken;
$sfdc = new SforcePartnerClient();
$SoapClient = $sfdc->createConnection('salesforceAPI/partner.wsdl.xml');
$loginResult = false;
try {
// log in with username, password and security token if required
$loginResult = $sfdc->login(USER, PASSWORD . SECURITY_KEY);
} catch (Exception $e) {
global $errors;
$errors = $e->faultstring;
echo "Fatal Login Error <b>" . $errors . "</b>";
die;
}
// Define constants for the web service. We'll use these later
$parsedURL = parse_url($sfdc->getLocation());
define ("_SFDC_SERVER_", substr($parsedURL['host'],0,strpos($parsedURL['host'], '.')));
define ("_WS_NAME_", 'salesforceAPI/Ctest');
define ("_WS_WSDL_", _WS_NAME_ . '.xml');
define ("_WS_ENDPOINT_", 'https://' . _SFDC_SERVER_ . '.salesforce.com/services/wsdl/class/' . _WS_NAME_);
define ("_WS_NAMESPACE_", 'http://soap.sforce.com/schemas/class/' . _WS_NAME_);
$client = new SoapClient(_WS_WSDL_);
$sforce_header = new SoapHeader(_WS_NAMESPACE_, "SessionHeader", array("sessionId" => $sfdc->getSessionId()));
$client->__setSoapHeaders(array($sforce_header));
$method = $client->__getFunctions();
echo _SFDC_SERVER_."<br>";
echo _WS_NAME_."<br>";
echo _WS_WSDL_."<br>";
echo _WS_ENDPOINT_."<br>";
echo _WS_NAMESPACE_."<br>";
//
try {
$wsParams=array('name' =>'hhhi');
// call the web service via post
$client->cInsert($wsParams);
// this is really bad.
} catch (Exception $e) {
global $errors;
$errors = $e->faultstring;
echo "Ooop! Error: <b>" . $errors . "</b>";
die;
}
It Basically means that the Connection to the partner.wsdl.xml is failing.
See the below links for more information and related threads,
http://stackoverflow.com/questions/20628669/salesforce-element-item-invalid-at-this-location
http://sfdc.arrowpointe.com/2008/12/05/calling-apex-web-services-from-php/
https://github.com/ddeboer/DdeboerSalesforceMapperBundle/issues/10
https://drupal.org/node/1922260
Regards,
Ashish