我正在尝试通过网络服务请求创建潜在客户,但我收到了“抱歉!尝试访问受限文件”的回复。 我读到最可能的罪魁祸首是config.inc.php中配置错误的$ root_directory url,但我的是正确的。用户界面工作正常。
我可以通过webservice登录并获取会话名称,但似乎“创建”操作不起作用。 这是创建调用的代码:
$lead = array('lastname' => 'test', 'assigned_user_id' => '1', 'company' => 'test');
$objectJson = json_encode($lead);
$request = new HTTP_Request2($vtiger_url, 'POST');
$request->addPostParameter(array(
'operation' => 'create',
'sessionName' => $sessionName,
'element' => $objectJson,
'elementType' => 'Leads',
));
请注意,如果我将“elementType”arg更改为组成的内容(例如“fskdhfks”),我会收到拒绝访问的响应。 如果我没有在$ lead数组中添加必填字段,我(正确地)会在响应中收到强制字段缺失错误,因此创建操作很明显。
不确定如何继续进行故障排除。想法?
谢谢!
更新
经过一些调试后,我发现错误发生的地方。由于以下查询失败,导致永远不会插入数据库:
Tue Mar 4 04:30:31 2014,751 [13249] INFO VT - PearDatabase ->ADODB error Query Failed:insert into vtiger_crmentity (crmid,smcreatorid,smownerid,setype,description,modifiedby,createdtime,modifiedtime) values(?,?,?,?,?,?,?,?)::->[1048]Column 'smownerid' cannot be null
不知怎的,不知怎的,assigned_user_id参数没有通过那段代码。领导的姓氏和公司字段在那里,但没有assigned_user_id的迹象。 Straaange。
答案 0 :(得分:1)
问题确实在于assigned_user_id。 vtiger不需要使用用户的实际ID,而是需要格式为<moduleid>x<userid>
从https://forums.vtiger.com/viewtopic.php?p=94894
得到答案登录结果还包括一个包含<moduleid>x
前缀的userID。
在我的情况下,我不想使用该特定的userID,但前缀有效。
真是太痛苦了。