diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-08-26 15:33:04 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-08-26 15:36:51 +0200 |
commit | b612d671bdf74f112fc02bd9f39fb0e4b1aec501 (patch) | |
tree | bb0fd88aba2bec5505e13b5eec6e2a16792a0deb /src/main/java/at | |
parent | 34adf17296b8f2252eb9b3274c62f40a9d18ae81 (diff) | |
download | moa-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/at')
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); |