[ 
https://issues.apache.org/jira/browse/CXF-8341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Luke updated CXF-8341:
----------------------
    Summary: LoggingFeature always prints out binary contents  (was: 
LoggingFeature always print out binary contents)

> LoggingFeature always prints out binary contents
> ------------------------------------------------
>
>                 Key: CXF-8341
>                 URL: https://issues.apache.org/jira/browse/CXF-8341
>             Project: CXF
>          Issue Type: Bug
>          Components: logging
>    Affects Versions: 3.4.0
>            Reporter: Luke
>            Priority: Major
>
> As mentioned in the following (closed) old issue:
> https://issues.apache.org/jira/browse/CXF-7143
> it seems that the LoggingFeature and releated classes (LoggingInInterceptor, 
> etc) don't treat correctly a SOAP MTOM message with multiple parts.
> Configuring the LoggingFeature as follows:
> {code:java}
> LoggingFeature lf = new LoggingFeature();
>         lf.setPrettyLogging(false);
>         lf.setLogBinary(false);
>         lf.setLogMultipart(true);
> {code}
> The MTOM attachment is printed in the log despite its content-type is 
> application/octet-stream (already defined in the DefaultLogEventMapper).
> {code:java}
> ...
> HttpMethod: POST
>     Content-Type: multipart/related; type="application/xop+xml"; 
> boundary="uuid:09d02828-bbcd-4ab7-9007-53cac8f6174d"; 
> start="<[email protected]>"; start-info="application/soap+xml"
> ...
> Payload: 
> --uuid:09d02828-bbcd-4ab7-9007-53cac8f6174d
> Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"
> Content-Transfer-Encoding: binary
> Content-ID: <[email protected]><soap:Envelope 
> xmlns:soap="http://www.w3.org/2003/05/soap-envelope";>
> ...
> </soap:Body></soap:Envelope>
> --uuid:09d02828-bbcd-4ab7-9007-53cac8f6174d
> Content-Type: application/octet-stream
> Content-Transfer-Encoding: binary
> Content-ID: <[email protected]>
> Content-Disposition: attachment;name="pdf-sample.pdf"
> ---> THE BINARY CONTENT IS LOGGED HERE EVEN IF THE CONTENT TYPE IS 
> application/octet-stream
> {code}
> It seems that the isBinaryContent() is evaluted only once for the whole 
> message passing the content-type of the first part only (applcation/xop+xml).
> I would like to have printed in the log only the SOAP XML payload (the first 
> part) filtering out the binary parts (replacing them with the standard 
> message "--- Content suppressed ---").
> To recap, if I set LoggingFeature.setLogMultipart(false) also the SOAP XML 
> Envelope disappear (as it is contained in a part), if I set 
> LoggingFeature.setLogMultipart(true) and LoggingFeature.setLogBinary(false) 
> the latter is ignored and the binary content are printed in the log.
> Any help would be highly appreciated.
> Luke
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to