Как я уже писал, основная проблема заключается в том, что это не ошибка. Перехватить ее через SoapFault не удастся. В то же время, решение, которое описано в
документации, в моем случае не работало. Суть в том, что все, что я кладу в буфер до метода handle в него записывается. Но после этого метода, как я писал в вопросе, работа скрипта останавливается и поэтому ob_get_contents() уже бесполезен. Как я понял в этом методе выполняется
ob_flush()
, или функция ей подобная.
Самым оптимальным для меня в этой ситуации стала просто callback функция, переданная в ob_start("justCallback"), которая вызовется в handle, после очистки буфера.
function justCallback($buffer) {
//в buffer падает результат выполнения. Парсим его и формируем уже нужный нам ответ.
}
Если у кого есть решение получше - пишите.