Все работает. Сервлет принимает данные из входящего(request) потока байт, тоже в цикле.
Прием данных сервлетом (выход из цикла) заканчивается сразу после вызова pFile->EndRequest(). После получения данных, сервлет может обращаться в базу, выполнять какие-то операцие, в результате чего получает данные, которые нужно вернуть обратно клиенту. Пусть это будет число или строка. response.setHeader("param_name",param_value); не работает, так как уже был сделан pFile->EndRequest().
Повторный
bRes = pFile->SendRequest();
снова вызовет сервлет, но это уже будет новый вызов, а не продолжение старого. Можно, конечно, сделать типа switch и передавать сервлету какойто код, в зависимости от которого он выполняет те или иные операции. Но тогда придется разделять функции субд на несколько, что не есть хорошо.
Как организуют двусторонний диалог между сервером и клиентом с помощью сервлетов?