Rejecting multiple requests within same session

I’m seeing a situation where two requests with the same session id are
being processed at the same time. Is there a way to make sure that if
a request is being handled for a session, that request completes
before allowing another?

For instance, I’m receiving xml, which goes through a series of steps,
say 1-7. In step 3 of the first request, I’ll see step 1 for the
second request inject itself into the log file at step three. The two
requests will be intertwined in the log file until both complete.