Ваша проблема с этой строкой:
$adminInfo = $client->new AdminInformation();
(нет, да, это строка 13, вот где говорится об ошибке <- язык в щеке, не смарми). </p>
Хорошо, за полезный комментарий:
Прямо сейчас вы ... ну, я не знаю, что думает PHP, но вы не можете иметь ->new AdminInformation();
, если "new" не является свойством. Событие, если AdminInformation - это не класс и не простая функция, вам понадобится точка с запятой.
Вам нужно либо include
, либо require
независимо от того, в каком файле PHP содержится AdminInformation
. Если у вас нет файла с таким определением класса, то ничто не может помочь службе.
Что касается динамической загрузки класса из вызова Soap, не делайте этого. Иметь локальное определение этого класса, а затем сделать так, чтобы вызов Soap возвращал имя класса, или, что еще лучше, иметь некоторую фабрику, способную обработать запрос, чтобы вызов Soap не влиял на ваши локальные структуры классов.
Редактировать
Если вы хотите создать экземпляр класса на основе вызова метода:
// set $klass to either be a reference to the class or a String of its name.
// String is generally easier.
$klass = get_class_name(); // or $client->whateverTheMethodIs();
if( !class_exists( $klass ) )
{
//either import the class or handle the fact that the class isn't there.
}
$instance = new $klass(/* constructor arguments here */);