这是SOAP函数:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://domain.com/" xmlns:sen="http:/domain.com">
<soapenv:Header/>
<soapenv:Body>
<v2:actionContactsGroup>
<sen:pInfo>
<sen:ActionType>?</sen:ActionType>
<sen:GroupName>?</sen:GroupName>
<!--Optional:-->
<sen:ContactIdsList>
<!--1 or more repetitions:-->
<sen:Id>?</sen:Id>
</sen:ContactIdsList>
</sen:pInfo>
</v2:actionContactsGroup>
</soapenv:Body>
</soapenv:Envelope>
如果我发送这个XML代码,它可以正常工作:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v2="http://domain.com" xmlns:sen="http://domain.com">
<soapenv:Header/>
<soapenv:Body>
<v2:actionContactsGroup>
<sen:pInfo>
<sen:ActionType>Add</sen:ActionType>
<sen:GroupName>MyGroup</sen:GroupName>
<sen:ContactIdsList>
<sen:Id>SomeID1</sen:Id>
<sen:Id>SomeID2</sen:Id>
<sen:Id>SomeID3</sen:Id>
</sen:ContactIdsList>
</sen:pInfo>
</v2:actionContactsGroup>
</soapenv:Body>
</soapenv:Envelope>
但是我无法在php中做同样的事情。我可以一次使用一个id:
$addToGroup = array(
'pInfo'=>array(
'ActionType'=>'Add',
'GroupName'=>'MyGroup',
'ContactIdsList'=>array('Id'=>'SomeID1')
)
);
但是,如果我尝试多个ID,无论我如何格式化数组,它都无法工作。想法?
我尝试了这个但是没有工作:
// didnt work, came back saying "Warning: Contact not found
// [Array]WarningDuplicated contact. Only first instance was used."
$addToGroup = array(
'pInfo'=>array(
'ActionType'=>'Add',
'GroupName'=>'NCAL_SUW',
'ContactIdsList'=>array(
array('Id'=>'SomeID1'),
array('Id'=>'SomeID2')
)
)
)
答案 0 :(得分:0)
我终于明白了:发送的阵列显然不需要提及&#34; Id&#34;元件。直接发布ID列表就足够了。所以,我最终使用下面的数组。为什么我不需要提及&#34; Id&#34;我的数组中的元素超出了我,但显然肥皂客户端自己处理它。
$addToGroup = array(
'pInfo'=>array(
'ActionType'=>'Add',
'GroupName'=>'NCAL_SUW',
'ContactIdsList'=>array(
'SomeID1',
'SomeID2'
)
)
)