No-one? Then I recon it's a bug.
2013/6/24 David Karlsen <[email protected]> > Hi. > > I have this out/outFault interceptor: > > public Sorp3Interceptor() > throws JAXBException > { > super( Phase.POST_PROTOCOL, EDBHeaderType.class ); > } > > public void handleMessage( SoapMessage message ) > throws Fault > { > if ( isRequestor( message ) ) > { > logger.warn( "Wrongly configured - this interceptor should > only be used serverside for outbound messages (e.g. replies) - ignoring" ); > return; > } > > @SuppressWarnings( "unchecked" ) > Map<String, List<String>> headers = (Map<String, List<String>>) > message.get( Message.PROTOCOL_HEADERS ); > > if ( headers == null ) > { > headers = Maps.newTreeMap( String.CASE_INSENSITIVE_ORDER ); > message.put( Message.PROTOCOL_HEADERS, headers ); > } > > headers.put( "X-sorp", Arrays.asList( getSorp3HeaderValue( message > ) ) ); > } > > > it works fine, but we see that when the response is so large that it's > streamed via file (e.g reaching the threshold for CachedOutputStream) it's > not actually received by the client: > > > E.g. this one will lack the header when received by client: > ID: 6 > Encoding: UTF-8 > Content-Type: text/xml > Headers: {X-sorp=[anonymized]} > Messages: Outbound Message (saved to tmp file): > Filename: /tmp/cxf-tmp-250758/cos4006683562610207802tmp > (message truncated to 102400 bytes) > > > this one works as designed: > > ID: 7 > Encoding: UTF-8 > Content-Type: text/xml > Headers: {X-sorp=[anonymized]} > Payload: <soap:Envelope ... > > > > > > -- > David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen > -- -- David J. M. Karlsen - http://www.linkedin.com/in/davidkarlsen
