Greg Turnquist, could you provide a little more context on this request?
In particular, in a header-based session id resolution strategy, there is no way to implement setSessionId since the request headers are immutable and even if changed (i.e. mutating the exchange) will not help the client to know the session id. The tests do not show this problem because they use a Mockito mock for the request. Switching to MockServerHttpRequest should demonstrate the problem.
How does a remote client such as a browser know what session id to send in a header in the first place? In the Cookie strategy, the setSessionId saves the session id to a response cookie, which is then sent with the next request as a cookie too and that's how the session gets carried forward from request to request.