我已经尝试过研究这个问题,但看起来它的原因可能会有所不同,并且需要一些输入。以下一行;
resultRisport70 = clientRisport70.service.selectCmDevice('','CmSelectionCriteria'({'SelectBy':'Name','Status':'Any','DeviceClass':'Phone','SelectItems':{'item':{'Item':'SEPblah'}}}))
发生错误;
TypeError: 'str' object is not callable
我尝试重组这条线,但我似乎无法弄清楚这个问题。我在python2中也有一个类似的结构线似乎可以工作,但python3中的这一行确实运行。任何帮助表示赞赏。
我有相同的类型代码,用php编写;
$devices1 = $soapClient->selectCmDevice(array(
'StateInfo' => '',
'CmSelectionCriteria'=>
(array(
'DeviceClass'=>'Phone',
'SelectBy'=>'Name',
'Status'=>'Registered',
'Protocol'=>'Any',
'DownloadStatus'=>'Any',
'SelectItems'=>array(
'item'=>array(
'Item'=>'*' . $searchString . '*'
))))));
这是相同代码的一个版本,转到一个被删除的WSDL,但似乎工作正常;
resultRisport70 = clientRisport70.service.SelectCmDevice('',{'SelectBy':'Name', 'Status':'Registered', 'Class':'Phone','SelectItems':{'SelectItem':{'Item':phoneDetailName}}})
答案 0 :(得分:2)
我认为你试图在这里将字符串称为函数,这是不可能的。具体来说,
'CmSelectionCriteria'()
不是有效的。
"abc"()
会导致同样的错误。您无法对字符串执行调用。
如果CmSelectionCriteria是您在其他地方定义的函数,请删除引号。