Commit 892b6a69 by Patryk Czarnik

LoggingHandler

parent 5da9603c
......@@ -4,8 +4,9 @@ package ogloszenia;
* W tej klasie trzeba wpisać swoje ustawienia ścieżek.
*/
public class Ustawienia {
public static final String SQLITE_PATH = "/home/patryk/ogloszenia/ogloszenia.db";
public static final String PHOTOS_PATH = "/home/patryk/ogloszenia/foto";
public static final String KATALOG = "/home/patryk/ogloszenia";
public static final String SQLITE_PATH = KATALOG + "/ogloszenia.db";
public static final String PHOTOS_PATH = KATALOG + "/foto";
public static final String LOGS_PATH = KATALOG + "/logs";
}
package ogloszenia.soap.handlers;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Date;
import java.util.Set;
import javax.xml.namespace.QName;
import jakarta.xml.soap.SOAPException;
import jakarta.xml.soap.SOAPMessage;
import jakarta.xml.ws.handler.MessageContext;
import jakarta.xml.ws.handler.soap.SOAPHandler;
import jakarta.xml.ws.handler.soap.SOAPMessageContext;
import ogloszenia.Ustawienia;
public class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
@Override
public boolean handleMessage(SOAPMessageContext context) {
boolean wychodzaca = (Boolean) context.get(SOAPMessageContext.MESSAGE_OUTBOUND_PROPERTY);
String jaka = wychodzaca ? "out" : "in";
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String nazwa = sdf.format(new Date()) + "_" + jaka + ".xml";
SOAPMessage message = context.getMessage();
try (FileOutputStream out = new FileOutputStream(Ustawienia.LOGS_PATH + "/" + nazwa)) {
message.writeTo(out);
} catch (SOAPException | IOException e) {
e.printStackTrace();
}
return true;
}
public boolean handleFault(SOAPMessageContext context) {
return true;
}
public void close(MessageContext context) {
}
public Set<QName> getHeaders() {
return Collections.emptySet();
}
}
......@@ -5,12 +5,8 @@
<handler-class>ogloszenia.soap.handlers.InfoHandler</handler-class>
</handler>
<handler>
<handler-name>B</handler-name>
<handler-class>ogloszenia.soap.handlers.HandlerB</handler-class>
</handler>
<handler>
<handler-name>C</handler-name>
<handler-class>ogloszenia.soap.handlers.HandlerC</handler-class>
<handler-name>Logger</handler-name>
<handler-class>ogloszenia.soap.handlers.LoggingHandler</handler-class>
</handler>
</handler-chain>
</handler-chains>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment