Запрос API SugarCRM — отказ в доступе?

Я использую SugarCRM 6.5.x и использую API SOAP. Чего я пытаюсь добиться, так это найти учетную запись, проверив значение настраиваемого поля с регистрационным номером компании следующим образом:

get_entry_list(...

accounts.id in (select id_c from accounts_cstm join accounts on accounts_cstm.id_c = accounts.id where accounts_cstm.company_number__c = '12345678')

... )

Я продолжаю получать сообщения об отказе в доступе, и я не понимаю, почему? Если я запускаю запрос в phpmyadmin, он работает нормально? Как я могу заставить это работать для SugarCRM?


person Ivan Zlatev    schedule 05.03.2013    source источник


Ответы (2)


Поддержка подзапросов, подобных этому, в нашем API веб-сервисов удалена, начиная с Sugar 6.4, за некоторыми исключениями; см. этот пост для более подробной информации ...

http://developer.sugarcrm.com/2012/03/19/howto-avoiding-subqueries-with-our-web-services/

Для этого вам не нужно выполнять подзапрос, так как cstm подключается автоматически.

person jmertic    schedule 11.03.2013

Вы уверены, что открыли сессию и отправили правильные параметры?

get_entry_list($session, $module_name, $query, $order_by,$offset, $select_fields, $link_name_to_fields_array, $max_results, $deleted )

Взгляните на API Описание и найдите «Вызов: get_entry_list()». Это для 6.4, но это не должно иметь никакого значения.

person pauel    schedule 06.03.2013
comment
Да, я уверен - у меня есть другой запрос, который выполняет поиск в таблице адресов электронной почты, и он отлично работает - person Ivan Zlatev; 06.03.2013
comment
Я бы использовал отладчик. Какую IDE вы используете? Я использую Netbeans, и там вместе с xdebug легко установить точку останова в service/core/SugarWebServiceImpl.php get_entry_list, чтобы увидеть, что происходит. - person pauel; 06.03.2013
comment
Если вы не хотите настраивать отладчик, вы также можете изменить некоторые из $GLOBALS['log']-›info на $GLOBALS['log']-›fatal( это упростит чтение Sugarcrm .log, и вы увидите, с чего начинается ваша проблема. - person pauel; 06.03.2013
comment
Я взаимодействую с существующей SugarCRM через API — давайте предположим, что у меня нет доступа к машине, на которой она запущена. - person Ivan Zlatev; 06.03.2013
comment
настройте локальную установку и попробуйте сначала там. всегда хороший способ работать сначала локально, а после выяснения всего, что вы публикуете. - person pauel; 06.03.2013