Мне нужно создать запрос SOAP, который выглядит так:
<soapenv:Body>
<getItemsForProject>
<token>
<user>?</user>
<password>?</password>
</token>
<projectId></projectId>
<start>0</start>
<count>0</count>
</getItemsForProject>
</soapenv:Body>
Операция ожидает этого:
[209] => struct getItemsForProject {
wsAuth token;
long projectId;
int start;
int count;
}
Я пробовал следующее, но продолжаю нажиматьPHP Fatal error: SOAP-ERROR: Encoding: object has no 'start' property
Я знаю, что объект токена может быть создан таким образом, так как я использовал его для другой операции:
$auth->token = new \stdClass;
$auth->token->user = $username;
$auth->token->password = $password;
Однако выполнение чего-то подобного для параметра start приводит к ошибке с сообщением о фатальной ошибке. Вот часть кода:
$opts = new \StdClass;
$opts->projectId = 123;
$opts->start = 0;
$opts->count = 0;
$resp = $soap->getItemsForProject($auth, $opts);
echo $soap->__getLastRequest()."\n";
Я не могу распечатать полный запрос мыла, используя $soap->__getLastRequest()
, потому что он возвращает фатальную ошибку перед отправкой запроса. Точно так же я не могу использовать var_dump()
для $resp
, потому что он умирает до выполнения этой строки. Как я могу сказать, что на самом деле отправляется?! Если я это знаю, мне будет легче это отлаживать.
Спасибо, нс