SOAP-ERROR: When using Enterprise Client for SalesForce
SOAP-ERROR: When using Enterprise Client for SalesForce
我正在尝试通过 SOAP 客户端将自定义字段传递给 SalesForce,这是我现有的代码:
try {
$mySforceConnection = new SforceEnterpriseClient();
$mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR.'/enterprise.wsdl.xml');
$mylogin = $mySforceConnection->login($USERNAME, $PASSWORD);
$leadConvert = new stdClass;
$leadConvert->leadId = $eLEADID;
$leadConvert->Custome_field = true;
$leadConvertArray = array($leadConvert);
echo "<pre>";
print_r($leadConvertArray);
echo "</pre>";
$leadConvertResponse = $mySforceConnection->convertLead($leadConvertArray);
echo "<pre>";
print_r($leadConvertResponse);
echo "</pre>";
}
catch (Exception $e) {
echo $e->faultstring;
}
它被传递给 SOAP 的方式是这样的:
Array
(
[0] => stdClass Object
(
[leadId] => XXXXXXXXXX
[Custom_field] => 1
)
)
我得到的错误如下:
SOAP-ERROR: Encoding: object has no 'convertedStatus' property
我是否必须在 WSDL 中设置一些内容才能使其工作?这是为了尝试更新 SalesForce 中的 leadID 以将其转换为 account/opportunity。
有没有更好的方法让我调试它并查看我可能从 WSDL 中遗漏了什么?
注意:该错误表示您"literally"没有在请求中设置参数。要修复它,只需传递它抱怨的内容即可。
新一期:
添加请求后,出现以下错误:
Element {urn:enterprise.soap.sforce.com}Custome_field invalid at this location
完全不确定该错误的含义。有什么想法吗?
对于错误:
Element {urn:enterprise.soap.sforce.com}Custome_field invalid at this location
您似乎正在尝试将潜在客户记录中的自定义字段设置为布尔值。
Salesforce 中的自定义字段通常以 __c
后缀结尾。
检查 Salesforce 中字段的 API 名称并确保生成和访问企业 API 的用户具有字段级别的访问权限。
那么你的代码应该是这样的:
$leadConvert->Custom_field__c = true;
您为潜在客户设置自定义字段,然后将其传递给 convertLead() web method. See the LeadConvert Arguments,其中包括 convertedStatus
,这似乎也有点奇怪。
我正在尝试通过 SOAP 客户端将自定义字段传递给 SalesForce,这是我现有的代码:
try {
$mySforceConnection = new SforceEnterpriseClient();
$mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR.'/enterprise.wsdl.xml');
$mylogin = $mySforceConnection->login($USERNAME, $PASSWORD);
$leadConvert = new stdClass;
$leadConvert->leadId = $eLEADID;
$leadConvert->Custome_field = true;
$leadConvertArray = array($leadConvert);
echo "<pre>";
print_r($leadConvertArray);
echo "</pre>";
$leadConvertResponse = $mySforceConnection->convertLead($leadConvertArray);
echo "<pre>";
print_r($leadConvertResponse);
echo "</pre>";
}
catch (Exception $e) {
echo $e->faultstring;
}
它被传递给 SOAP 的方式是这样的:
Array
(
[0] => stdClass Object
(
[leadId] => XXXXXXXXXX
[Custom_field] => 1
)
)
我得到的错误如下:
SOAP-ERROR: Encoding: object has no 'convertedStatus' property
我是否必须在 WSDL 中设置一些内容才能使其工作?这是为了尝试更新 SalesForce 中的 leadID 以将其转换为 account/opportunity。
有没有更好的方法让我调试它并查看我可能从 WSDL 中遗漏了什么?
注意:该错误表示您"literally"没有在请求中设置参数。要修复它,只需传递它抱怨的内容即可。
新一期:
添加请求后,出现以下错误:
Element {urn:enterprise.soap.sforce.com}Custome_field invalid at this location
完全不确定该错误的含义。有什么想法吗?
对于错误:
Element {urn:enterprise.soap.sforce.com}Custome_field invalid at this location
您似乎正在尝试将潜在客户记录中的自定义字段设置为布尔值。
Salesforce 中的自定义字段通常以 __c
后缀结尾。
检查 Salesforce 中字段的 API 名称并确保生成和访问企业 API 的用户具有字段级别的访问权限。
那么你的代码应该是这样的:
$leadConvert->Custom_field__c = true;
您为潜在客户设置自定义字段,然后将其传递给 convertLead() web method. See the LeadConvert Arguments,其中包括 convertedStatus
,这似乎也有点奇怪。