PHP: Catchable fatal error: Объект класса stdClass не может быть преобразован в строку

При запуске прилагаемого кода я получаю следующую дамп и ошибку. Я смущен тем, что $ procID представляется как строка, но как только я попытаюсь передать его снова, его объект? Как я могу получить / остаться в строке? Благодарю.

 object (stdClass) # 2 (1) {
 ["processId"] => string (13)
 Строка "Genesis114001"} (311)
 Строка «Genesis114001» (293) «Бытие
 «Ловкая фатальная ошибка: объект
 Класс stdClass не может быть преобразован
 вставить в
 C: \ WAMP \ WWW \ SugarCE \ testSOAPShawn.php
 в строке 15 
<?php set_time_limit(0); require_once('nusoap.php'); require_once('BenefitSOAP.php'); //WSDL to PHP Classes $client = new SoapClient('C:\wsdl\BenefitDeterminationProcess_BenefitDialogueServiceSOAP.wsdl', array('trace' => 1)); $procID = $client->start(array("prefix"=>"Genesis")); $respXML = $client->__getLastResponse(); $requXML = $client->__getLastRequest(); echo "<p/>"; var_dump($procID); //echo "<p/>"; var_dump($respXML); //echo "<p/>"; var_dump($requXML); $exchange = $client->exchangeOptions(array("processId"=>$procID)); //LINE 15 $end = $client->stop(array("processId"=>$procID)); ?> 

Независимо от того, какой метод $client->start() возвращается, он вводится как объект. Вы можете получить доступ к свойствам объекта с помощью оператора -> :

 $procID = $client->start(array("prefix"=>"Genesis")); ... $exchange = $client->exchangeOptions(array("processId"=>$procID->processId)); 

Вероятно, это массив, но набирается в объект. Таким образом, вы попадаете в stdClass .

Другой (и, возможно, лучший) способ сделать это – напечатать возврат. Таким образом, вам не нужно создавать новый массив для последующей передачи в качестве аргумента:

 $procID = (array) $client->start(array("prefix"=>"Genesis")); ... $exchange = $client->exchangeOptions($procID); $end = $client->stop($procID);