diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java index f3190348d92..82d469e86e7 100644 --- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java +++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HttpClientHTTPConduit.java @@ -821,17 +821,30 @@ class HttpClientWrappedOutputStream extends WrappedOutputStream { @Override public void close() throws IOException { - super.close(); - if (pout != null) { - pout.close(); - pout = null; - } - if (publisher != null) { - publisher.close(); - publisher = null; + try { + super.close(); + } finally { + if (pout != null) { + try { + pout.close(); + } catch (IOException e) { + logStackTrace(e); + } + pout = null; + } + if (publisher != null) { + try { + publisher.close(); + } catch (IOException e) { + logStackTrace(e); + } + publisher = null; + } + request = null; + subscribers = null; } - request = null; - subscribers = null; + + } void addSubscriber(Flow.Subscriber subscriber) { subscribers.add(subscriber);