
io.lsn.java.common.soap.handler.SoapLoggingHandler Maven / Gradle / Ivy
package io.lsn.java.common.soap.handler;
import io.lsn.java.common.soap.handler.worker.LogWorker;
import io.lsn.java.common.soap.handler.worker.Worker;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPException;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
import java.util.Set;
/**
* @author Patryk Szlagowski
*/
public class SoapLoggingHandler implements SOAPHandler {
private Worker logger;
@Override
public Set getHeaders() {
return null;
}
@Override
public boolean handleMessage(SOAPMessageContext context) {
this.log(context);
return true;
}
@Override
public boolean handleFault(SOAPMessageContext context) {
this.log(context);
return true;
}
@Override
public void close(MessageContext context) {
}
private void log(SOAPMessageContext context) {
try {
this.getLogger().process(context);
} catch (SOAPException e) {
throw new RuntimeException(e.getMessage(), e);
}
}
private Worker getLogger() {
if (this.logger == null) {
this.logger = new LogWorker();
}
return this.logger;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy