Проблема: бывает так, что при вызове soap, ответ на стороне клиента не собирается в объект, это может быть и из-за wsdl или из-за неверного ответа от сервер.
Решение: распарсить ответ от сервере как XML
// выполняем функцию SOAP
$response = $this->client->__soapCall("getParam", $param);
// костыль, так как первый response ничего не вернул, будем тупо парсить XML ответ
$response = $this->client->__getLastResponse();
// xml парсеру не нравится тег с неймспейсами, вырезаем их
$response = str_ireplace(array('soapenv:', 'tem:', 'SOAP-ENV:', 'rpc:'), '', $response);
$xml = simplexml_load_string($response, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
$arrayResponse = json_decode($json,TRUE);
Если есть ошибка при разборе, можно поиграть с параметрами
$xml = simplexml_load_string($response, «SimpleXMLElement», LIBXML_COMPACT | LIBXML_PARSEHUGE);