You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dk...@apache.org on 2011/11/14 21:28:15 UTC
svn commit: r1201878 - in /camel/branches/camel-2.8.x: ./
components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/
components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/
Author: dkulp
Date: Mon Nov 14 20:28:14 2011
New Revision: 1201878
URL: http://svn.apache.org/viewvc?rev=1201878&view=rev
Log:
Merged revisions 1199260 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r1199260 | ningjiang | 2011-11-08 09:30:46 -0500 (Tue, 08 Nov 2011) | 1 line
CAMEL-4644 MessageDataFormatFeature should keep the LoggingOutInterceptor
........
Modified:
camel/branches/camel-2.8.x/ (props changed)
camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java
camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointBeans.xml
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java?rev=1201878&r1=1201877&r2=1201878&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java (original)
+++ camel/branches/camel-2.8.x/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/feature/MessageDataFormatFeature.java Mon Nov 14 20:28:14 2011
@@ -24,6 +24,7 @@ import org.apache.cxf.Bus;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.interceptor.Interceptor;
+import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.message.Message;
import org.apache.cxf.phase.Phase;
import org.slf4j.Logger;
@@ -54,15 +55,21 @@ public class MessageDataFormatFeature ex
@Override
public void initialize(Client client, Bus bus) {
-
+ //check if there is logging interceptor
+
removeInterceptorWhichIsOutThePhases(client.getInInterceptors(), REMAINING_IN_PHASES);
removeInterceptorWhichIsOutThePhases(client.getEndpoint().getInInterceptors(), REMAINING_IN_PHASES);
client.getEndpoint().getBinding().getInInterceptors().clear();
+ //we need to keep the LoggingOutputInterceptor
+ Interceptor<? extends Message> loggingOutputInterceptor = getLoggingOutInterceptor(client);
removeInterceptorWhichIsOutThePhases(client.getOutInterceptors(), REMAINING_OUT_PHASES);
removeInterceptorWhichIsOutThePhases(client.getEndpoint().getOutInterceptors(), REMAINING_OUT_PHASES);
client.getEndpoint().getBinding().getOutInterceptors().clear();
client.getEndpoint().getOutInterceptors().add(new RawMessageContentRedirectInterceptor());
+ if (loggingOutputInterceptor != null) {
+ client.getEndpoint().getOutInterceptors().add(loggingOutputInterceptor);
+ }
}
@Override
@@ -81,6 +88,9 @@ public class MessageDataFormatFeature ex
server.getEndpoint().getInInterceptors().add(wsdlGetInterceptor);
}
+ //we need to keep the LoggingOutputInterceptor
+ Interceptor<? extends Message> loggingOutputInterceptor = getLoggingOutInterceptor(server);
+
// Do not using the binding interceptor any more
server.getEndpoint().getBinding().getInInterceptors().clear();
@@ -90,6 +100,10 @@ public class MessageDataFormatFeature ex
// Do not use the binding interceptor any more
server.getEndpoint().getBinding().getOutInterceptors().clear();
server.getEndpoint().getOutInterceptors().add(new RawMessageContentRedirectInterceptor());
+
+ if (loggingOutputInterceptor != null) {
+ server.getEndpoint().getOutInterceptors().add(loggingOutputInterceptor);
+ }
}
@Override
@@ -105,5 +119,21 @@ public class MessageDataFormatFeature ex
}
return null;
}
+
+ protected Interceptor<? extends Message> getLoggingOutInterceptor(Client client) {
+ Interceptor<? extends Message> result = getInterceptorByName(client.getOutInterceptors(), LoggingOutInterceptor.class.getName());
+ if (result == null) {
+ result = getInterceptorByName(client.getEndpoint().getOutInterceptors(), LoggingOutInterceptor.class.getName());
+ }
+ return result;
+ }
+
+ protected Interceptor<? extends Message> getLoggingOutInterceptor(Server server) {
+ Interceptor<? extends Message> result = getInterceptorByName(server.getEndpoint().getOutInterceptors(), LoggingOutInterceptor.class.getName());
+ if (result == null) {
+ result = getInterceptorByName(server.getEndpoint().getService().getOutInterceptors(), LoggingOutInterceptor.class.getName());
+ }
+ return result;
+ }
}
Modified: camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointBeans.xml
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointBeans.xml?rev=1201878&r1=1201877&r2=1201878&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointBeans.xml (original)
+++ camel/branches/camel-2.8.x/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/GreeterEndpointBeans.xml Mon Nov 14 20:28:14 2011
@@ -32,13 +32,21 @@
<cxf:cxfEndpoint id="routerEndpoint" address="http://localhost:${CxfGreeterMessageRouterTest.port2}/CamelContext/RouterPort"
- serviceClass="org.apache.hello_world_soap_http.GreeterImpl"/>
+ serviceClass="org.apache.hello_world_soap_http.GreeterImpl">
+ <cxf:features>
+ <bean class="org.apache.cxf.feature.LoggingFeature"/>
+ </cxf:features>
+ </cxf:cxfEndpoint>
<cxf:cxfEndpoint id="serviceEndpoint" address="http://localhost:${CxfGreeterMessageRouterTest.port1}/SoapContext/SoapPort"
wsdlURL="testutils/hello_world.wsdl"
serviceClass="org.apache.hello_world_soap_http.Greeter"
endpointName="s:SoapPort"
serviceName="s:SOAPService"
- xmlns:s="http://apache.org/hello_world_soap_http" />
+ xmlns:s="http://apache.org/hello_world_soap_http" >
+ <cxf:features>
+ <bean class="org.apache.cxf.feature.LoggingFeature"/>
+ </cxf:features>
+ </cxf:cxfEndpoint>
</beans>
\ No newline at end of file