SugarCRM API查询-访问被拒绝?

SugarCRM API查询-访问被拒绝?,sugarcrm,Sugarcrm,我正在运行SugarCRM 6.5.x并使用SOAP API。我试图通过检查自定义字段的值和公司注册号来查找帐户,如下所示: 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') ... ) 我不断收到拒绝访问的

我正在运行SugarCRM 6.5.x并使用SOAP API。我试图通过检查自定义字段的值和公司注册号来查找帐户,如下所示:

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实现此功能?

您确定打开了会话并发送了正确的参数吗

get_entry_list($session, $module_name, $query, $order_by,$offset, $select_fields, $link_name_to_fields_array, $max_results, $deleted )
查看并搜索“Call:get_entry_list()”。
它适用于6.4版,但不应该有任何区别。

从Sugar 6.4版开始,对Web服务API中类似的子查询的支持被删除,但有一些例外;有关更多详细信息,请参阅此帖子


对于这一个,您不需要执行子查询,因为cstm是自动加入的。

是的,我确定-我有另一个查询正在搜索电子邮件地址表,并且运行良好。我将使用调试器。你使用什么IDE?我使用Netbeans,然后再加上xdebug,很容易在service/core/sugarwebserviceinpl.php get_entry_列表中设置一个断点来查看发生了什么如果您不想设置调试器,那么您还可以将一些$GLOBALS['log']->info更改为$GLOBALS['log']->fatal(这使阅读sugarcrm.log变得更容易,您可以看到问题的起因。我正在通过API与现有的sugarcrm进行交互-假设我无法访问运行它的机器。设置一个本地安装,然后首先在那里尝试。这始终是一种先在本地工作,然后在确定所有发布内容后工作的好方法。