Today was my first experience using WSE filters in SOAP clients. One of
the simpler things I wanted to create was an OutputFilter/InputFilter pair
that calculates response time by having the OutputFilter store the start
time in the SoapContext for the InputFilter to subtract from the end time.
Of course, I had assumed that the OutputFilter and InputFilter shared a
SoapContext (or at least its table of properties) and was very surprised to
find that this isn't the case. As it is, I don't see any way for the two
to communicate except via a ThreadLocal, which is both unnecessarily complex
and error-prone. Am I missing something?
Note that in JAX-RPC, which is the equivalent Java technology, the context
*is* shared between outbound and inbound filters, making this kind of thing
simple.