package org.argeo.slc.core.test.tree;\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 resultPartAdded(TreeTestResult testResult,\r
TestResultPart testResultPart) {\r
if (onlyOnClose)\r
return;\r
\r
+ if (cannotConnect)\r
+ return;\r
+\r
try {\r
if (testResult.getResultParts().size() == 1\r
&& testResult.getResultParts().values().iterator().next()\r
}\r
} catch (SoapFaultClientException e) {\r
WebServiceUtils.manageSoapException(e);\r
+\r
+ } catch (WebServiceIOException e) {\r
+ manageIoException(e);\r
}\r
}\r
\r
public void close(TreeTestResult testResult) {\r
+ if (cannotConnect)\r
+ return;\r
+\r
try {\r
if (onlyOnClose) {\r
CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(\r
}\r
} catch (SoapFaultClientException e) {\r
WebServiceUtils.manageSoapException(e);\r
+ } catch (WebServiceIOException e) {\r
+ manageIoException(e);\r
}\r
-\r
}\r
\r
public void setTemplate(WebServiceTemplate template) {\r
public void setOnlyOnClose(Boolean onlyOnClose) {\r
this.onlyOnClose = onlyOnClose;\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