Я использую PHP 5 и хочу вызвать веб-сервис, который определен примерно так:
webmethod ( AbstractBase obj );
Я использую SoapClient (на основе wsdl). Веб-метод ожидает подкласс класса AbstractBase. Тем не менее, в PHP вызов метода soap возвращает мне эту ошибку:
Server was unable to read request.
---> There is an error in XML document
---> The specified type is abstract: name='AbstractBase'
Я почти уверен, что проблема в том, что я должен указать тип параметра obj в вызове Soap, но я не могу найти волшебное слово, чтобы сделать это так.
$client = new SoapClient($WSDL, $soapSettings);
$obj = array(
'internal_id' => $internalId,
'external_id' => $externald,
);
$params = array(
'obj' => $obj // How do I say it is of type: DerivedClass?
);
$response = $client->webmethod($params);