import org.springframework.ws.client.core.WebServiceTemplate;\r
import org.springframework.ws.soap.client.SoapFaultClientException;\r
\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
import org.argeo.slc.msg.process.SlcExecutionRequest;\r
import org.argeo.slc.msg.process.SlcExecutionStepsRequest;\r
+import org.argeo.slc.ws.client.WebServiceUtils;\r
\r
public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier {\r
private WebServiceTemplate template;\r
\r
- public void addSteps(SlcExecution slcExecution,\r
- List<SlcExecutionStep> additionalSteps) {\r
- SlcExecutionStepsRequest req = new SlcExecutionStepsRequest();\r
- req.setSlcExecutionUuid(slcExecution.getUuid());\r
- req.setSteps(additionalSteps);\r
- template.marshalSendAndReceive(req);\r
- }\r
+ private Log log = LogFactory.getLog(getClass());\r
\r
public void newExecution(SlcExecution slcExecution) {\r
SlcExecutionRequest req = new SlcExecutionRequest();\r
req.setSlcExecution(slcExecution);\r
- template.marshalSendAndReceive(req);\r
+ try {\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
+ if (log.isTraceEnabled())\r
+ log.trace("Notified creation of slc execution "\r
+ + slcExecution.getUuid());\r
+ } catch (SoapFaultClientException e) {\r
+ WebServiceUtils.manageSoapException(e);\r
+ }\r
}\r
\r
public void updateExecution(SlcExecution slcExecution) {\r
SlcExecutionRequest req = new SlcExecutionRequest();\r
req.setSlcExecution(slcExecution);\r
- template.marshalSendAndReceive(req);\r
+ try {\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
+ if (log.isTraceEnabled())\r
+ log.trace("Notified update of slc execution "\r
+ + slcExecution.getUuid());\r
+ } catch (SoapFaultClientException e) {\r
+ WebServiceUtils.manageSoapException(e);\r
+ }\r
+ }\r
+\r
+ public void addSteps(SlcExecution slcExecution,\r
+ List<SlcExecutionStep> additionalSteps) {\r
+ SlcExecutionStepsRequest req = new SlcExecutionStepsRequest();\r
+ req.setSlcExecutionUuid(slcExecution.getUuid());\r
+ req.setSteps(additionalSteps);\r
+ if (log.isTraceEnabled()) {\r
+ for (SlcExecutionStep step : additionalSteps) {\r
+ log.trace("Step " + step.getUuid() + ": " + step.logAsString());\r
+ }\r
+ }\r
+\r
+ try {\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
+ if (log.isTraceEnabled())\r
+ log.trace("Added steps to slc execution "\r
+ + slcExecution.getUuid());\r
+ } catch (SoapFaultClientException e) {\r
+ WebServiceUtils.manageSoapException(e);\r
+ }\r
}\r
\r
public void setTemplate(WebServiceTemplate template) {\r