You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Andrea Smyth <an...@iona.com> on 2007/01/04 17:14:35 UTC
JaxwsInterceptorRemover and RM
I had a look at the use of the JaxwsInterceptorRemover in the RM system
test. For starters this interceptor (at least at some point) only removd
one JAXWS specific interceptor - the SOAPHandlerInterceptor. This was
necessary before I switched over to the callback based approach to
logging outbound message. It is not required any more.
In the meantime however, the Holder[In|Out]Interceptors were added, and
these caused problems for some RM protocol messages (e.g. CreateSequence
operation). So the JaxwsInterceptorRemover was extended to remove the
HolderOutInterceptor also.
The ClassCastException seen when the HolderOutInterceptor is on the
chain can be avoided by checking if outObjects.get(idx) actually IS a
Holder object.
Before making this change however I'd like to know a little bit more
about this interceptor:
Is is possible for example to first check if the part is an INOUT
parameter and only then attempt the cast and store the holder for later?
Why do we need to store holders for other parameters?
BTW there is one more piece in RM code where interceptors get removed
from the chain for RM protocol messages: This is in the RMInInterceptor,
which removes the (JAXWS frontend specific) WrapperClassInInterceptor
from the chain. I am looking into what needs to be done to avoid this
(hence my attempts to generate code from the the wsrm.wsdl - I want to
compare the resulting service model with the one that is built up
manually in RMEndpoint.java).
Andrea.