This would be a bit tricky. If you are using the WSS4JOutInterceptor, the
non-encrypted stuff would NEVER be in "stream" form.
Most likely, what you need to do is write an interceptor that goes in the:
Phase.POST_PROTOCOL;
phase, but is before the
WSS4JOutInterceptorInternal.class.getName()
interceptor. (could probably do "setBefore("*");"
In that interceptor, you should be able to do:
SOAPMessage saaj = mc.getContent(SOAPMessage.class);
to get it in SAAJ form, but prior to encryption. You could then log that
anyway you want.
Dan
On Tuesday 16 December 2008 5:48:02 am bschuette wrote:
> I have a similar problem, I need to log all outgoing messages before they
> are encrypted and signed.
> I tried to modify the shipped LoggingOutInterceptor within its constructor:
>
> super( Phase.PRE_STREAM );
> addBefore( StaxOutInterceptor.class.getName() );
> addBefore( WSS4JOutInterceptor.class.getName() );
>
>
> This does not seem to help. I have tried to use earlier phases with no
> luck. I guess it has something to do with the callback mechanism and the
> caching used by this interceptor?
>
> Any hints how I could solve my problem?
>
> Thanks!
>
> Björn
>
> dkulp wrote:
> > On Monday 15 December 2008 1:41:03 pm Curious Mind wrote:
> >> I have gone through that example and didnt found of much use. Anyways I
> >> have achieved my target using handler but I still think Interceptor
> >> would have be better option. I really need example which can show how to
> >> play with XML Body Message.
> >
> > It kind of depends on what type of modifications you need to make.
> >
> > If you really need to make large structural modifications (kind of like
> > ws-security that is encrypting things, adding headers, etc...), you would
> > probably use the SAAJOutInterceptor+YouInterceptor to work on the saaj
> > model.
> > Fairly similar to the JAX-WS handlers.
> >
> > If the modification can be done in a streaming manner (like namespace
> > mapping
> > or adding an element/attribute or similar), you would normally use an
> > interceptor that would wrapper/replace the XMLStreamWriter or even the
> > OutputStream with a new one that does the behavior you need.
> >
> > --
> > Daniel Kulp
> > [email protected]
> > http://dankulp.com/blog
--
Daniel Kulp
[email protected]
http://dankulp.com/blog