\r
import java.util.List;\r
\r
+import org.springframework.ws.client.WebServiceIOException;\r
import org.springframework.ws.client.core.WebServiceTemplate;\r
import org.springframework.ws.soap.client.SoapFaultClientException;\r
\r
\r
private Log log = LogFactory.getLog(getClass());\r
\r
+ private Boolean cannotConnect = false;\r
+\r
public void newExecution(SlcExecution slcExecution) {\r
+ if (cannotConnect)\r
+ return;\r
+\r
SlcExecutionRequest req = new SlcExecutionRequest();\r
req.setSlcExecution(slcExecution);\r
try {\r
+ slcExecution.getUuid());\r
} catch (SoapFaultClientException e) {\r
WebServiceUtils.manageSoapException(e);\r
+ } catch (WebServiceIOException e) {\r
+ manageIoException(e);\r
}\r
}\r
\r
public void updateExecution(SlcExecution slcExecution) {\r
+ if (cannotConnect)\r
+ return;\r
+\r
SlcExecutionRequest req = new SlcExecutionRequest();\r
req.setSlcExecution(slcExecution);\r
try {\r
+ slcExecution.getUuid());\r
} catch (SoapFaultClientException e) {\r
WebServiceUtils.manageSoapException(e);\r
+ } catch (WebServiceIOException e) {\r
+ manageIoException(e);\r
}\r
}\r
\r
public void updateStatus(SlcExecution slcExecution, String oldStatus,\r
String newStatus) {\r
+ if (cannotConnect)\r
+ return;\r
+\r
SlcExecutionStatusRequest req = new SlcExecutionStatusRequest(\r
slcExecution.getUuid(), newStatus);\r
try {\r
+ slcExecution.getUuid());\r
} catch (SoapFaultClientException e) {\r
WebServiceUtils.manageSoapException(e);\r
+ } catch (WebServiceIOException e) {\r
+ manageIoException(e);\r
}\r
}\r
\r
public void addSteps(SlcExecution slcExecution,\r
List<SlcExecutionStep> additionalSteps) {\r
+ if (cannotConnect)\r
+ return;\r
+\r
SlcExecutionStepsRequest req = new SlcExecutionStepsRequest();\r
req.setSlcExecutionUuid(slcExecution.getUuid());\r
req.setSteps(additionalSteps);\r
+ slcExecution.getUuid());\r
} catch (SoapFaultClientException e) {\r
WebServiceUtils.manageSoapException(e);\r
+ } catch (WebServiceIOException e) {\r
+ manageIoException(e);\r
}\r
}\r
\r
this.template = template;\r
}\r
\r
+ protected void manageIoException(WebServiceIOException e) {\r
+ if (!cannotConnect) {\r
+ log.error("Cannot connect to " + template.getDefaultUri()\r
+ + ". Won't try again.", e);\r
+ cannotConnect = true;\r
+ }\r
+ }\r
+\r
}\r