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;

однако делать что-то подобное для параметра "пуск" не удается с фатальным сообщением об ошибке. Вот часть кода:

$opts = new StdClass;
$opts->projectId = 123;
$opts->start = 0;
$opts->count = 0;

$resp = $soap->getItemsForProject($auth, $opts);       

echo $soap->__getLastRequest() ."n";

I не удается распечатать полный запрос soap с помощью $soap->__getLastRequest(), потому что он возвращает фатальную ошибку перед выдачей запроса. Аналогично, я не могу использовать var_dump() на $resp потому что он умирает перед выполнением этой строки. Как я могу сказать, что на самом деле направляется?! Если я знаю это, то я могу отладить это более легко.

спасибо, ns

1 ответов


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

$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);