My definition of "call" a servlet is when one item of webapp code contacts a server, gets a response, and acts on the response. What you're actually attempting to do is to forward. that is, to, "call" without returning.
JSF is designed to manage requests from end to end, so forwarding is a problem.
However, based on your sample code, I don't know if you really even
need JSF for what you're trying to do.
JSF is not a "Master Control Program" that has to be totally in control at all times. It's an assistance framework that acts on individual request/response cycles. If you have a particular client request that doesn't need JSF's forms support, don't try and force it. Instead, write a servlet or
JSP and let that servlet/JSP handle the request exactly as you would in a non-JSP app.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.