Вы пытались добавить прослушиватель "onload" к элементу iframe, чтобы увидеть, срабатывает ли при изменении источника iframe? Это может быть решением. Если это не сработает, то я не думаю, что у вас есть выбор, кроме как выполнить функцию верхнего уровня из результата iframe.
обновление
Поскольку у вас нет контроля над ответом от сервлета, возможно, вы могли бы создать медиану PHP, которая связывается с сервлетом и принимает сырой json, который он получает, а затем возвращает то, что ему нужно для выполнения функции javscript родительского окна и передавая JSON этой функции.
Таким образом, вы контролируете выход.