Quantcast

[1/2] cxf git commit: Recording .gitmergeinfo Changes

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[1/2] cxf git commit: Recording .gitmergeinfo Changes

Daniel  Kulp
Administrator
Repository: cxf
Updated Branches:
  refs/heads/3.1.x-fixes 868f24864 -> c4709d14f


Recording .gitmergeinfo Changes


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/c4709d14
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/c4709d14
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/c4709d14

Branch: refs/heads/3.1.x-fixes
Commit: c4709d14fda1cb3510c1b6f3670bbaa678f81d8f
Parents: 8c1459e
Author: Daniel Kulp <[hidden email]>
Authored: Thu Feb 16 17:12:21 2017 -0500
Committer: Daniel Kulp <[hidden email]>
Committed: Thu Feb 16 17:12:21 2017 -0500

----------------------------------------------------------------------
 .gitmergeinfo | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/c4709d14/.gitmergeinfo
----------------------------------------------------------------------
diff --git a/.gitmergeinfo b/.gitmergeinfo
index f8e4fe0..fd5abf5 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -32,6 +32,7 @@ B 189756a8ff668d39d59cb7ff1658ed40d70ec12b
 B 189b6643d30eab4d79a0f7722c9277e76e92a1fd
 B 1ae4d6dee70587b048c0dcded9cd0b2855c2e225
 B 1b2a3d0d2e1a4c8f13368fd7c3e0e1cbfabd2b32
+B 1b8064f475b09323c5c11d9e8a4e1440879cae26
 B 1c3085ea94a902e6bf4a49b50c121e778efd28c2
 B 1d2ff721ef4d63b86035238516afdf1a82855bd9
 B 1e49510ea71551e543b22f6693307b1436e81db0
@@ -55,11 +56,13 @@ B 32d044afbe9c6bf4fd4ef829a71af3d1d949315e
 B 333632ee013b26b6ed15d05818971d83927bd43d
 B 337742ff1215b34643c8c35d8a1a9c4d5238d743
 B 343d06d94838cd26f682f7afbcea0e422aa1597d
+B 3450d3854e97dbd67eeaa862d09d39cce9846de9
 B 38919f57bfb2b880691950fc5f992b5649ea579e
 B 39851b83af116611ce0efe70c4b9a32ee8491523
 B 39a5690d7d50d8481739c290f49128be4d55f8ad
 B 3b2f2ed2db01f05fa9b648693ce33978ccc8ede8
 B 3be1cef6d16eeee405b7e046c822c27dc7223f24
+B 3bebf6b49283d9a9c36365c030533a3508f836c7
 B 3f259221fa1dd9227397400ed9653374cb4fdc39
 B 3fbedf1397714824b9700cd4d49569087936fe1a
 B 40380d8e57cdea0d909f3a9ee207628831c202fa
@@ -77,6 +80,7 @@ B 45bc2219b761e671973acf297e0f37a1b8934c6c
 B 46438c487115889c4cadd86f70fd4109a0daa2b8
 B 4786e832573f1fcc07ed190ab21fdb2820348e4d
 B 47a431412dbd7669d89a70d6fed49053e70dfed1
+B 4a30203a08ea11f96b52b454220ed5ce9419e3be
 B 4a72362668b14f92f1a0252b723436fc86b681bf
 B 4b37844e9c15812d1855d0babded79880d2cd6fb
 B 4bf780105271e91451446a2d96032249486b32de
@@ -121,6 +125,7 @@ B 6d82b75eb982f13f5f071178aeef66e55b0e3fd4
 B 6df5deab24016d07e4099712b07535688d164d94
 B 6e7b79f6a8b6523b2248937275d92918e5682aa2
 B 6fcdc7e9eec2414a40bd3161cf237ef182e313a6
+B 702389744199001e6c35e602ffb197ebaaf84838
 B 707fa4f3c3f3aa40979e57468a9ac3eb3102a71f
 B 73d1f886ae5265131e8664ee952ffd1cdc82f71a
 B 741c9e349e7e48d3fe278ba8d8f17dd6bf4c4370
@@ -146,6 +151,8 @@ B 8b92fe57dd9a661dab382da7d556b1972f513a93
 B 8cea7c879658e83d7a4f54f6d4e8dfa0e449c67d
 B 8e7d8e18e820dcaef748c2cab6091f884fe647a4
 B 8f98be8e72d4dbe18347a7efab91f4b008d8385f
+B 90a74fc75af41898ee50359c13f298eb483a3d01
+B 9323b68565ef79717e9d3e60744dd1bf63c1a5d8
 B 938217b05928747f7ef0d2a8899cbc297926a4e6
 B 94b837228a1d9c706aa235bfe23b827eb04da63c
 B 9505a3c7c82691da2bad94459702a665b14420fa
@@ -156,6 +163,7 @@ B 970d918a69efe5f8a601f20bb575a23f95a472c5
 B 996d0745469b044cc8a29168add803f22706c443
 B 99f5296bfed5278b60d6fa4065e1537fd59fcf64
 B 9b6666816a21d8b85cc051be59a8ab6e968c5d0d
+B 9bb1148e093b5293454cd978673f5526443d1f55
 B 9bcde744c2ad59a67c278d155f2ba22e35bacb7d
 B 9c7ccd5cc10b1d4a6f1817a6c37c99b8f19d15a1
 B 9f39272a5f92c8bc27a8d3adc4da89f0eb30a54b
@@ -180,6 +188,7 @@ B b8132e5962e326355b699bca445afe9274d0f91d
 B bacef091c2152d51ebdefbe20244e73d1c26b39d
 B bbb04acb7c09d28ae8f662f1cbedd8c5f4d1bf1a
 B bbda68b6d7948d098ee598d248266f4ce81c820a
+B bcacbef8c3aa0e40e2cf560c6d0922edb4b641fb
 B bcb96eb5cbdfcd473da2ef64709ec0dc541d3609
 B bceee342b32f3704ca75176d06067f90c6d3fbdc
 B bd24e7efd7f8f4258e8fde99eb63e007378048f0
@@ -195,14 +204,17 @@ B c2daeb5b45b758e9f54ce73dc4567a69c47d9170
 B c3a1392d1656c41a9bbdb24698eb27fbc757628b
 B c63f06f3782148373912c1e4dc86de0d0c312229
 B c6d4592a8a5d31429333c0e539ae56f517c2523f
+B c783e60a8bcea76b9fecb75364b120d39c8ea28a
 B c8e788eee8f7b5ce3a2161dfe727f3153ded607b
 B c8ee5ae674f6e59b26d7b549481627d21103f7c1
+B c903d27ec726f059a2b5e9ee1485202d2aa4d76c
 B c92875b6da5934aded09170a30a46d4015cbfa29
 B c978ca0274c06abd6ebf67adf2a839c4624b4906
 B c9da051de80efd513e2a3e20c0b5c6ff942291a1
 B ca2f8e81168b5b4ca72fa6c3c4529109c7d7c5d0
 B cb405d4275a5cf30187c4fbf957dbbb70a9eeacf
 B ce274c7b4450279f2c0d4deae5bc5c3952af5c42
+B ce6cdcff2bee46194baa3e3b63b93616fcaea9c8
 B ced98c6e937bd93f92dac9043fa0406c696bfd84
 B cf3f537d210c979dc3b3f49e08ebad5f0c02993c
 B cf9ab27a843df4532d9bd78209aebcafee2ffffc
@@ -222,6 +234,7 @@ B de675431040a434c2bd1ef66667472fb4a49a9ab
 B dfc84b0fac84e001069800b32f01529d50339cdb
 B e14d803ff84be7c59dd7c2321f1090231967d45c
 B e1c60863ac10b56d423613c7d3d2f45c7ce18e14
+B e1d950605941ef77bd4a3e9e4ad47eb63ac8f221
 B e2efd0386e210d162c7646f4a4f2aa15e9752924
 B e5b9f0e1695e73c33a40248d45fa4eba034d39b3
 B e61a83d4ac18fc760fc5d4bc8fb19d6072aaac52
@@ -232,7 +245,9 @@ B e6f0722615190861192972a51b3986b34efd1f0e
 B e7895d6a7cb071fdea57f6d2607dabe2d22db47f
 B e7e75c58c283d0178c6929cf298a68f41f6a8459
 B e824784db1bda81c68aaa407f471588acea38865
+B e856de5370025ec6f897ef214e7f898fd8cb6756
 B e9b997e808857cda15f428aed8a78ea8d1856db7
+B e9e1fbe33658421590ec149b0f82c12d2fed2c53
 B ea458d27bdbd30b0b3ef785d18e45ddf2a75b74a
 B ea8b6e270c3a4a62061c4269174b6326a57ea2b5
 B ebce4a65b15a1a99f18c1ea0111affafc447ce7e
@@ -272,6 +287,7 @@ M 0e5fd5a54cb271ba494e7e30b45d4228b33364a9
 M 11637433df089a638e173d1ef57441e7456cf2ea
 M 1184e08f0d1c40c754e39fd5d6340d1057fbdd17
 M 11e18bf5622cafdb10723cee895885d676b35a7b
+M 146b00d1947058705c873dffe2ba78ad35c8b03c
 M 19d8da7f0672b86dbf88a08b54a72297d0ca2d20
 M 1afeea8bdc0ef96df1d52ea343957dc396723f8c
 M 20d0a2811c15cb65a402eb063e1359236d7014ea
@@ -340,6 +356,7 @@ M abcc137cb9b27e0da0b4270a18ac2a32df1e9990
 M b2b6f0137cd9f1bafff5d487e8383453692a2ff0
 M b2e5fb6583d64deeb8a42d2eeb6935c5f33dc0c6
 M b418fd7952dc36f1a3e577e457833588a2056104
+M b433c753d44350daff5a40ff8eb5a149cf557a68
 M b49075882641fcebbbdf1ed8d84247fcf80aa558
 M b624c034c5682b54b9faf3d3e90eb0c23cde1a5b
 M c01c68ddda10ec6db492b86d818498bec0bf4228

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[2/2] cxf git commit: Revert some of the changes to logging feature and fix the issues using existing concepts

Daniel  Kulp
Administrator
Revert some of the changes to logging feature and fix the issues using existing concepts

# Conflicts:
# rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingFeature.java
# rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
# rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8c1459e3
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8c1459e3
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8c1459e3

Branch: refs/heads/3.1.x-fixes
Commit: 8c1459e3399647467ae01f9f2d04b9a9e8853ea0
Parents: 868f248
Author: Daniel Kulp <[hidden email]>
Authored: Thu Feb 16 16:24:05 2017 -0500
Committer: Daniel Kulp <[hidden email]>
Committed: Thu Feb 16 17:12:21 2017 -0500

----------------------------------------------------------------------
 .../apache/cxf/ext/logging/LoggingFeature.java  |   6 -
 .../cxf/ext/logging/LoggingInInterceptor.java   | 172 ++++++-------------
 .../org/apache/cxf/ext/logging/WireTapIn.java   |  10 +-
 .../java/org/apache/cxf/jaxws/ServiceImpl.java  |   3 +-
 .../ws/addr_fromjava/WSAFromJavaTest.java       |   4 +-
 5 files changed, 67 insertions(+), 128 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/8c1459e3/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingFeature.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingFeature.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingFeature.java
index 1e34887..6d383ee 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingFeature.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingFeature.java
@@ -49,21 +49,17 @@ public class LoggingFeature extends AbstractFeature {
     private LogEventSender sender;
     private LoggingInInterceptor in;
     private LoggingOutInterceptor out;
-    private WireTapIn wireTapIn;
     private PrettyLoggingFilter prettyFilter;
 
     public LoggingFeature() {
         this.sender = new Slf4jEventSender();
         prettyFilter = new PrettyLoggingFilter(sender);
-        wireTapIn = new WireTapIn();
         in = new LoggingInInterceptor(prettyFilter);
         out = new LoggingOutInterceptor(prettyFilter);
     }
     
     @Override
     protected void initializeProvider(InterceptorProvider provider, Bus bus) {
-        
-        provider.getInInterceptors().add(wireTapIn);
         provider.getInInterceptors().add(in);
         provider.getInFaultInterceptors().add(in);
 
@@ -74,13 +70,11 @@ public class LoggingFeature extends AbstractFeature {
     public void setLimit(int limit) {
         in.setLimit(limit);
         out.setLimit(limit);
-        wireTapIn.setLimit(limit);
     }
     
     public void setInMemThreshold(long inMemThreshold) {
         in.setInMemThreshold(inMemThreshold);
         out.setInMemThreshold(inMemThreshold);
-        wireTapIn.setThreshold(inMemThreshold);
     }
     
     public void setSender(LogEventSender sender) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8c1459e3/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
index 0643bc2..da2afa1 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/LoggingInInterceptor.java
@@ -18,25 +18,22 @@
  */
 package org.apache.cxf.ext.logging;
 
-import java.io.InputStream;
+import java.io.IOException;
 import java.io.PrintWriter;
-import java.io.Reader;
-import java.io.SequenceInputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.cxf.common.injection.NoJSR250Annotations;
 import org.apache.cxf.common.util.StringUtils;
 import org.apache.cxf.ext.logging.event.DefaultLogEventMapper;
-import org.apache.cxf.ext.logging.event.EventType;
 import org.apache.cxf.ext.logging.event.LogEvent;
 import org.apache.cxf.ext.logging.event.LogEventSender;
 import org.apache.cxf.ext.logging.event.PrintWriterEventSender;
 import org.apache.cxf.ext.logging.slf4j.Slf4jEventSender;
-import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.io.CachedOutputStream;
 import org.apache.cxf.io.CachedWriter;
-import org.apache.cxf.io.DelegatingInputStream;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.AbstractPhaseInterceptor;
 import org.apache.cxf.phase.Phase;
@@ -47,144 +44,85 @@ import org.apache.cxf.phase.PhaseInterceptor;
  */
 @NoJSR250Annotations
 public class LoggingInInterceptor extends AbstractLoggingInterceptor {
-    class SendLogEventInterceptor extends AbstractPhaseInterceptor<Message> {
-        SendLogEventInterceptor() {
-            super(Phase.PRE_INVOKE);
+    class LoggingInFaultInterceptor extends AbstractPhaseInterceptor<Message> {
+        LoggingInFaultInterceptor() {
+            super(Phase.RECEIVE);
         }
         @Override
         public void handleMessage(Message message) throws Fault {
-            LogEvent event = message.get(LogEvent.class);
-            if (event != null) {
-                DefaultLogEventMapper mapper = new DefaultLogEventMapper();
-                mapper.setEpInfo(message, event);
-                event.setType(mapper.getEventType(message));
-                message.remove(LogEvent.class);
-                sender.send(event);
-            }
-        }  
+        }
+        @Override
+        public void handleFault(Message message) throws Fault {
+            LoggingInInterceptor.this.handleMessage(message);
+        }
     }
     
+    
     public LoggingInInterceptor() {
         this(new Slf4jEventSender());
     }
+    public LoggingInInterceptor(LogEventSender sender) {
+        super(Phase.PRE_INVOKE, sender);
+    }
     public LoggingInInterceptor(PrintWriter writer) {
         this(new PrintWriterEventSender(writer));
     }
-    public LoggingInInterceptor(LogEventSender sender) {
-        super(Phase.RECEIVE, sender);
-    }
     public Collection<PhaseInterceptor<? extends Message>> getAdditionalInterceptors() {
-        PhaseInterceptor<Message> intc = new SendLogEventInterceptor();
-        java.util.Set<PhaseInterceptor<? extends Message>> ret = new java.util.HashSet<>();
-        ret.add(intc);
+        Collection<PhaseInterceptor<? extends Message>> ret = new ArrayList<>();
+        ret.add(new WireTapIn(limit, threshold));
+        ret.add(new LoggingInFaultInterceptor());
         return ret;
     }
-    
-    
-    public void handleFault(Message message) {
-        LogEvent event = message.get(LogEvent.class);
-        if (event != null) {
-            DefaultLogEventMapper mapper = new DefaultLogEventMapper();
-            mapper.setEpInfo(message, event);
-            event.setType(EventType.FAULT_IN);
-            message.remove(LogEvent.class);
-            sender.send(event);
-        }
-    }
+
     public void handleMessage(Message message) throws Fault {
-        LogEvent event = message.get(LogEvent.class);
-        if (event == null) {
-            createExchangeId(message);
-            event = new DefaultLogEventMapper().map(message);
-            if (shouldLogContent(event)) {
-                addContent(message, event);
-            } else {
-                event.setPayload(AbstractLoggingInterceptor.CONTENT_SUPPRESSED);
-            }
-            // at this point, we have the payload.  However, we may not have the endpoint yet. Delay sending
-            // the event till a little bit later
-            message.put(LogEvent.class, event);
+        createExchangeId(message);
+        final LogEvent event = new DefaultLogEventMapper().map(message);
+        if (shouldLogContent(event)) {
+            addContent(message, event);
+        } else {
+            event.setPayload(AbstractLoggingInterceptor.CONTENT_SUPPRESSED);
         }
+        sender.send(event);
     }
 
     private void addContent(Message message, final LogEvent event) {
-        InputStream is = message.getContent(InputStream.class);
-        if (is != null) {
-            logInputStream(message, is, event);
-        } else {
-            Reader reader = message.getContent(Reader.class);
-            if (reader != null) {
-                logReader(message, reader, event);
-            }
-        }
-    }
-    
-    protected void logInputStream(Message message, InputStream is, LogEvent event) {
-        CachedOutputStream bos = new CachedOutputStream();
-        if (threshold > 0) {
-            bos.setThreshold(threshold);
-        }
-        String encoding = event.getEncoding();
         try {
-            // use the appropriate input stream and restore it later
-            InputStream bis = is instanceof DelegatingInputStream
-                ? ((DelegatingInputStream)is).getInputStream() : is;
-            
-
-            //only copy up to the limit since that's all we need to log
-            //we can stream the rest
-            IOUtils.copyAtLeast(bis, bos, limit == -1 ? Integer.MAX_VALUE : limit);
-            bos.flush();
-            bis = new SequenceInputStream(bos.getInputStream(), bis);
-            
-            // restore the delegating input stream or the input stream
-            if (is instanceof DelegatingInputStream) {
-                ((DelegatingInputStream)is).setInputStream(bis);
-            } else {
-                message.setContent(InputStream.class, bis);
-            }
-
-            if (bos.getTempFile() != null) {
-                //large thing on disk...
-                event.setFullContentFile(bos.getTempFile());
-            }
-            if (bos.size() > limit && limit != -1) {
-                event.setTruncated(true);
-            }
-            
-            StringBuilder builder = new StringBuilder(limit);
-            if (StringUtils.isEmpty(encoding)) {
-                bos.writeCacheTo(builder, limit);
+            CachedOutputStream cos = message.getContent(CachedOutputStream.class);
+            if (cos != null) {
+                handleOutputStream(event, message, cos);
             } else {
-                bos.writeCacheTo(builder, encoding, limit);
+                CachedWriter writer = message.getContent(CachedWriter.class);
+                if (writer != null) {
+                    handleWriter(event, writer);
+                }
             }
-            bos.close();
-            event.setPayload(builder.toString());
-        } catch (Exception e) {
+        } catch (IOException e) {
             throw new Fault(e);
         }
     }
 
-    protected void logReader(Message message, Reader reader, LogEvent event) {
-        try {
-            CachedWriter writer = new CachedWriter();
-            IOUtils.copyAndCloseInput(reader, writer);
-            message.setContent(Reader.class, writer.getReader());
-            
-            if (writer.getTempFile() != null) {
-                //large thing on disk...
-                event.setFullContentFile(writer.getTempFile());
-            }
-            if (writer.size() > limit && limit != -1) {
-                event.setTruncated(true);
-            }
-            int max = writer.size() > limit ? (int)limit : (int)writer.size();
-            StringBuilder b = new StringBuilder(max);
-            writer.writeCacheTo(b);
-            event.setPayload(b.toString());            
-        } catch (Exception e) {
-            throw new Fault(e);
+    private void handleOutputStream(final LogEvent event, Message message, CachedOutputStream cos) throws IOException {
+        String encoding = (String)message.get(Message.ENCODING);
+        if (StringUtils.isEmpty(encoding)) {
+            encoding = StandardCharsets.UTF_8.name();
         }
+        StringBuilder payload = new StringBuilder();
+        cos.writeCacheTo(payload, encoding, limit);
+        cos.close();
+        event.setPayload(payload.toString());
+        boolean isTruncated = cos.size() > limit && limit != -1;
+        event.setTruncated(isTruncated);
+        event.setFullContentFile(cos.getTempFile());
+    }
+
+    private void handleWriter(final LogEvent event, CachedWriter writer) throws IOException {
+        boolean isTruncated = writer.size() > limit && limit != -1;
+        StringBuilder payload = new StringBuilder();
+        writer.writeCacheTo(payload, limit);
+        event.setPayload(payload.toString());
+        event.setTruncated(isTruncated);
+        event.setFullContentFile(writer.getTempFile());
     }
 
+
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/8c1459e3/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/WireTapIn.java
----------------------------------------------------------------------
diff --git a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/WireTapIn.java b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/WireTapIn.java
index e6b8508..5e117a2 100644
--- a/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/WireTapIn.java
+++ b/rt/features/logging/src/main/java/org/apache/cxf/ext/logging/WireTapIn.java
@@ -33,6 +33,8 @@ import org.apache.cxf.phase.AbstractPhaseInterceptor;
 import org.apache.cxf.phase.Phase;
 
 public class WireTapIn extends AbstractPhaseInterceptor<Message> {
+    private static final String WIRE_TAP_STARTED = WireTapIn.class.getName() + ".Started";
+    
     private long threshold = -1;
     private int limit = AbstractLoggingInterceptor.DEFAULT_LIMIT;
 
@@ -42,12 +44,18 @@ public class WireTapIn extends AbstractPhaseInterceptor<Message> {
      *
      * @param logMessageContent the log message content
      */
-    public WireTapIn() {
+    public WireTapIn(int limit, long threshold) {
         super(Phase.RECEIVE);
+        this.limit = limit;
+        this.threshold = threshold;
     }
 
     @Override
     public void handleMessage(final Message message) throws Fault {
+        if (message.containsKey(WIRE_TAP_STARTED)) {
+            return;
+        }
+        message.put(WIRE_TAP_STARTED, Boolean.TRUE);
         try {
             InputStream is = message.getContent(InputStream.class);
             if (is != null) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/8c1459e3/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
index df22406..10a2a4b 100644
--- a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
+++ b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
@@ -129,8 +129,7 @@ public class ServiceImpl extends ServiceDelegate {
             initialize(b, url, f);
         }
     }
-    
-    void initialize(Bus b, URL url, WebServiceFeature ... f) {
+    final void initialize(Bus b, URL url, WebServiceFeature ... f) {
         if (b == null) {
             b = BusFactory.getThreadDefaultBus(true);
         }

http://git-wip-us.apache.org/repos/asf/cxf/blob/8c1459e3/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java
----------------------------------------------------------------------
diff --git a/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java b/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java
index 23e9978..cf54e1c 100644
--- a/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java
+++ b/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/addr_fromjava/WSAFromJavaTest.java
@@ -131,8 +131,8 @@ public class WSAFromJavaTest extends AbstractWSATestBase {
             assert false;
         }
 
-        assertTrue(output.toString().indexOf("http://cxf.apache.org/input") != -1);
-        assertTrue(input.toString().indexOf("http://cxf.apache.org/fault3") != -1);
+        assertTrue(output.toString(), output.toString().indexOf("http://cxf.apache.org/input") != -1);
+        assertTrue(input.toString(), input.toString().indexOf("http://cxf.apache.org/fault3") != -1);
     }
 
     @Test

Loading...