У меня есть простой пользовательский объект контакта (с именем API Contact__c), который я создал на своем сайте SalesForce DE, в котором есть одно поле (для проверки подключения) Full_Name__c.
Затем я пытаюсь получить все контакты, в частности это поле через PHP:
try {
$mySforceConnection = new SforcePartnerClient();
$mySoapClient = $mySforceConnection->createConnection(API_PATH . '/soapclient/partner.wsdl');
$mylogin = $mySforceConnection->login(API_USER, API_PASS . API_SECURITY_TOKEN);
$query = 'SELECT C.Id, C.Full_Name__c
FROM Contact__c C';
$result = $mySforceConnection->query($query);
$sObject = new SObject($result->records[0]);
print_r($sObject);
} catch(Exception $e) {
print_r($e);
}
Я скачал последний файл partner.wdsl (хотя, как WSDL партнера, он свободно набран и его не нужно загружать с созданием / добавлением пользовательских объектов и / или обновленных полей, верно?). Я проверил, что пользователь может подключиться и увидеть пользовательские поля через ForceExplorer. Но когда я запускаю приведенный выше код, он подключается, но возвращает только следующее:
SObject Object ( [type] => Contact__c [fields] => [Id] => a )
Я не получаю никаких ошибок, недопустимых полевых ошибок и т. Д., Но по жизни я не могу понять, почему это не работает.
Я видел этот пример здесь, но, похоже, он специфичен для Enterprise vs Partner и необходимости загружать последнюю версию enterprise.wsdl каждый раз, когда вы меняете настраиваемые поля.
Есть указатели?