Когда я пытаюсь поместить логическое значение в качестве параметра в вызове функции, я получаю, что мне не хватает свойства
// try to get orders
try {
$order = new Order($auth_login, $auth_password, $live_mode);
$orders = $order->findOrdersBySubscriptionId($sessionId, $subscriptionId, (bool) false);
} catch (Exception $e) {
var_dump($e);
}
Это дает эту ошибку:
SoapFault Object
(
[message:protected] => SOAP-ERROR: Encoding: object has no 'onlyOnGoing' property
Array
(
[0] => Array
(
[Session] => 12345
[SubscriptionId] => 30520
[OnlyOnGoing] =>
)
)
)
)
Я также пытался (вместо (bool) false
):
FALSE
, False
, false
Ни одна работа!
РЕДАКТИРОВАТЬ:
Я просмотрела Orders
и нашел эту часть:
public function findOrdersBySubscriptionId($session, $subscriptionId, $onlyOnGoing) {
try {
$result = $this->client->findOrdersBySubscriptionId(array("Session" => $session, "SubscriptionId" => $subscriptionId, "OnlyOnGoing" => $onlyOnGoing));
return $result;
} catch (Except $e) {
return array("Error" => $e->getMessage());
}
}
Где я поменял "onlyOnGoing" => $onlyOnGoing
в "OnlyOnGoing" => $onlyOnGoing
,
Теперь я получаю эту ошибку (я также изменил вывод из print_r
в var_dump
):
object(SoapFault)#2668 (10) {
["message":protected]=>
string(58) "SOAP-ERROR: Encoding: object has no 'onlyOnGoing' property"["trace":"Exception":private]=>
array(6) {
[0]=>
array(6) {
[0]=>
string(26) "findOrdersBySubscriptionId"[1]=>
array(1) {
[0]=>
array(3) {
["Session"]=>
string(36) "4D398084-9B08-38A3-362E-880111364DD8"["SubscriptionId"]=>
int(30520)
["OnlyOnGoing"]=>
bool(false)
}
}
}
}
}
Задача ещё не решена.
Других решений пока нет …