]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.server/src/main/java/org/argeo/slc/ws/CustomSoapExceptionResolver.java
INtroduce tree test result web service (not working yet)
[gpl/argeo-slc.git] / org.argeo.slc.server / src / main / java / org / argeo / slc / ws / CustomSoapExceptionResolver.java
1 package org.argeo.slc.ws;
2
3 import javax.xml.namespace.QName;
4
5 import org.springframework.ws.context.MessageContext;
6 import org.springframework.ws.soap.SoapFault;
7 import org.springframework.ws.soap.SoapFaultDetail;
8 import org.springframework.ws.soap.server.endpoint.SimpleSoapExceptionResolver;
9
10 import org.apache.commons.logging.Log;
11 import org.apache.commons.logging.LogFactory;
12
13 public class CustomSoapExceptionResolver extends SimpleSoapExceptionResolver {
14 private Log log = LogFactory.getLog(getClass());
15
16 @Override
17 protected void customizeFault(MessageContext messageContext,
18 Object endpoint, Exception ex, SoapFault fault) {
19 log.error("Exception " + ex.getMessage() + " in end point " + endpoint,
20 ex);
21 SoapFaultDetail detail = fault.addFaultDetail();
22 for (StackTraceElement elem : ex.getStackTrace()) {
23 detail.addFaultDetailElement(new QName("StackElement")).addText(
24 elem.toString());
25 }
26 }
27
28 }