aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-08-26 15:33:04 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-08-26 15:36:51 +0200
commitb612d671bdf74f112fc02bd9f39fb0e4b1aec501 (patch)
treebb0fd88aba2bec5505e13b5eec6e2a16792a0deb /src/main/java
parent34adf17296b8f2252eb9b3274c62f40a9d18ae81 (diff)
downloadmoa-zs-b612d671bdf74f112fc02bd9f39fb0e4b1aec501.tar.gz
moa-zs-b612d671bdf74f112fc02bd9f39fb0e4b1aec501.tar.bz2
moa-zs-b612d671bdf74f112fc02bd9f39fb0e4b1aec501.zip
Log Incoming And Outgoing Messages with CXF Logging Interceptors
- Add loggin dependency. - Enable Message Logging for Services and Clients. - Add message logging config + examples to application.yaml
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/client/ClientFactory.java15
-rw-r--r--src/main/java/at/gv/egiz/moazs/service/MsgService.java1
-rw-r--r--src/main/java/at/gv/egiz/moazs/service/MzsService.java1
3 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/client/ClientFactory.java b/src/main/java/at/gv/egiz/moazs/client/ClientFactory.java
index 818c4c9..f173467 100644
--- a/src/main/java/at/gv/egiz/moazs/client/ClientFactory.java
+++ b/src/main/java/at/gv/egiz/moazs/client/ClientFactory.java
@@ -9,7 +9,10 @@ import at.gv.zustellung.app2mzs.xsd.KeyStoreType;
import at.gv.zustellung.app2mzs.xsd.SSLType;
import org.apache.cxf.configuration.jsse.TLSClientParameters;
import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
import org.apache.cxf.frontend.ClientProxy;
+import org.apache.cxf.interceptor.Interceptor;
import org.apache.cxf.jaxws.JaxWsClientFactoryBean;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.apache.cxf.message.Message;
@@ -37,6 +40,10 @@ public class ClientFactory {
private final FileUtils fileUtils;
private final ConfigUtil configUtil;
+ private static final Interceptor<Message> LOGGING_IN_INTERCEPTOR = new LoggingInInterceptor();
+ private static final Interceptor<Message> LOGGING_OUT_INTERCEPTOR = new LoggingOutInterceptor();
+
+
@Autowired
public ClientFactory(StoreSOAPBodyBinaryInRepositoryInterceptor storeResponseInterceptor,
SSLContextCreator creator,
@@ -62,6 +69,7 @@ public class ClientFactory {
factory.setServiceClass(clazz);
factory.setAddress(params.getURL());
factory.getInInterceptors().add(storeResponseInterceptor);
+ setupLoggingInterceptors(factory);
var proxy = new JaxWsProxyFactoryBean(factory).create();
Client client = ClientProxy.getClient(proxy);
@@ -88,6 +96,13 @@ public class ClientFactory {
return ((T)proxy);
}
+ private void setupLoggingInterceptors(JaxWsClientFactoryBean factory) {
+ factory.getInInterceptors().add(LOGGING_IN_INTERCEPTOR);
+ factory.getInFaultInterceptors().add(LOGGING_IN_INTERCEPTOR);
+ factory.getOutInterceptors().add(LOGGING_OUT_INTERCEPTOR);
+ factory.getOutFaultInterceptors().add(LOGGING_OUT_INTERCEPTOR);
+ }
+
private TLSClientParameters setupTLSParams(SSLType ssl) {
var tlsParams = new TLSClientParameters();
diff --git a/src/main/java/at/gv/egiz/moazs/service/MsgService.java b/src/main/java/at/gv/egiz/moazs/service/MsgService.java
index 9f94cb3..1144d17 100644
--- a/src/main/java/at/gv/egiz/moazs/service/MsgService.java
+++ b/src/main/java/at/gv/egiz/moazs/service/MsgService.java
@@ -18,6 +18,7 @@ import static java.util.concurrent.CompletableFuture.runAsync;
@Service
@SchemaValidation(type = SchemaValidation.SchemaValidationType.BOTH)
+@org.apache.cxf.feature.Features (features = "org.apache.cxf.ext.logging.LoggingFeature")
public class MsgService implements Zuse2AppPort {
private final DeliveryRepository repository;
diff --git a/src/main/java/at/gv/egiz/moazs/service/MzsService.java b/src/main/java/at/gv/egiz/moazs/service/MzsService.java
index 8b5d697..a0e6248 100644
--- a/src/main/java/at/gv/egiz/moazs/service/MzsService.java
+++ b/src/main/java/at/gv/egiz/moazs/service/MzsService.java
@@ -27,6 +27,7 @@ import static java.util.concurrent.CompletableFuture.supplyAsync;
@Service
@SchemaValidation(type = SchemaValidation.SchemaValidationType.BOTH)
+@org.apache.cxf.feature.Features (features = "org.apache.cxf.ext.logging.LoggingFeature")
public class MzsService implements App2MzsPortType {
private static final Logger log = LoggerFactory.getLogger(MzsService.class);