SOAP-ERROR: Кодирование: объект не имеет свойства

Мне нужно создать запрос 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 потому что он умирает до выполнения этой строки. Как я могу сказать, что на самом деле отправляется ?! Если я это знаю, тогда я могу легко отладить это.

Спасибо, нс

Попробуйте что-то вроде этого:

 $myClass->token = new \stdClass; $myClass->token->user = $username; $myClass->token->password = $password; $myClass->projectId = 123; $myClass->start = 0; $myClass->count = 0; $resp = $soap->getItemsForProject($myClass);