我试图在潜在客户列表(目标列表)和联系人之间建立关系。
我创建了一个新的联系人,并使用我创建的类(它们只是sugar提供的soap api调用的包装)获取了一个潜在客户列表的id。
但代码可以归结为这个soap调用:
$this->_sugarsoap->client->__soapCall('set_relationship', array($this->getSessionid(),$relationship));
$this->getSessionid()是会话Id,$relationship是一个数组,其中包含:
array
0 => string 'ProspectLists' (length=13)
1 => string '180ab1f5-cf7e-d386-50f8-4c18a790e016' (length=36)
2 => string 'Contacts' (length=8)
3 => string '76323942-8cbb-3224-f18a-4c19efa80a1b' (length=36)
在我尝试这个之后,我总是得到这个错误:(我对soap调用的返回值进行var_转储)
object(stdClass)[5]
public 'number' => string '20' (length=2)
public 'name' => string 'Module Does Not Exist' (length=21)
public 'description' => string 'This module is not available on this server' (length=43)
这看起来像一个sugarcrm错误,因为我有contacts模块和prospect列表模块。我之所以知道这一点是因为我通过soap调用添加了一个联系人,还通过soap调用检索了潜在客户列表的id。
我发现
this thread
在sugar论坛中,我确实尝试了那里给出的代码,但仍然得到了相同的错误。
有人能解决这个问题吗?我真的需要通过soap调用将联系人与潜在客户列表(目标列表)关联起来。
我在使用mysql的ubuntu服务器上使用SugarCRM 5.5.0(我也尝试了sugarcrm5.5.2,得到了同样的错误)。
谢谢!
编辑:
好的,我从线程中得到了修复,并对我的部分进行了一些修正。在我传递给set_relationships函数的数组中,我必须使用以下格式:
'module1' => 'modnameA',
'module1_id' => 'modidA',
'module2' => 'modnameB',
'module2_id' => 'modidB
希望这对某人有帮助:)