Вместо того, чтобы ждать завершения асинхронной части (я полагаю, что это антипаттерн), я бы незамедлительно ответил на запрос службы A, сообщив, что запрос получен, а процесс, стоящий за ним, запущен.
Тогда у вас есть два варианта:
- во внешнем интерфейсе периодически проверять (запрашивать) статус операции,
- реализовать взаимодействие сервера с клиентом с помощью веб-сокета.