我在使用nusoap将订阅者添加到dotmailer中的特定地址簿时遇到问题。我使用CreateContact方法向所有联系人添加通用订阅者都没有问题,但是当我尝试使用AddContactToAddressbook方法时,我只是无法正常工作。
底部使用的if语句返回成功,但$result
变量中没有任何内容。
<?php
function subscribe($email, &$result)
{
global $postURL, $username, $password;
$addressBookId = "######";
$contact = array("Email" => $email, "EmailType" => "Html");
$params = array("username" => $username, "password" => $password, "contact" => $contact, "addressbookId" => $addressBookId);
$client = new soapclient($postURL, true);
$error = $client->getError();
$result = $client->call('AddContactToAddressbook', $params);
if($client->fault) {
$rv = false;
} else {
// Check for errors
if($error) {
$rv = false;
} else {
$rv = true;
}
}
return $rv;
}
if(subscribe("test@test.com", $result)) {
echo "success<br />";
print_r($result);
} else {
echo "failed<br />";
}
?>
此代码按原样运行,仅更改
$result = $client->call('AddContactToAddressbook', $params);
到
$result = $client->call('CreateContact', $params);
但订阅者不在任何特定列表中。有谁知道我可能做错了什么。
P.S。 $addressBookId
变量已被故意清空,我没有尝试使用'######'作为值来运行它以防万一你想知道。
一旦投入生产,$result
变量将不会随函数返回。
由于
答案 0 :(得分:1)
使用
$result = $client->call('AddContactToAddressBook', $params);
资本B