2

I would like to handle soap message at Pre_stream phase.But i cant get soap message. In addition byte data with a size of 1 mb is send by this request.

    public class MessageChangeInterceptor extends AbstractPhaseInterceptor<SoapMessage> {



        public MessageChangeInterceptor() {
        super(Phase.PRE_STREAM);

        addBefore(SoapPreProtocolOutInterceptor.class.getName());
        }

        public void handleMessage(SoapMessage message) {
boolean isOutbound = false;
        isOutbound = message == message.getExchange().getOutMessage() || message == message.getExchange().getOutFaultMessage();

        if (isOutbound) {
                OutputStream os = message.getContent(OutputStream.class);

                CachedStream cs = new CachedStream();
                message.setContent(OutputStream.class, cs);

                message.getInterceptorChain().doIntercept(message);

                try {
                cs.flush();
                IOUtil.closeQuietly(cs);
                CachedOutputStream csnew = (CachedOutputStream) message.getContent(OutputStream.class);

                String currentEnvelopeMessage = IOUtil.toString(csnew.getInputStream(), "UTF-8");// currentEnvelopeMessage is empty ?
            ....    
        }
theMind
  • 194
  • 1
  • 10

0 Answers0