title: Mule until-successful to retry only with timeout
body: <p>I have put together an until-succesfull in Mule 3.7 (see below):</p>
  
  <pre><code>&lt;until-successful maxRetries="100" failureExpression="#[exception != null &amp;amp;&amp;amp; (exception.causedBy(java.net.ConnectException) || exception.causedBy(java.net.SocketTimeoutException)) || message.inboundProperties['http.status'] != 500]" synchronous="true" millisBetweenRetries="20000" doc:name="UntilSuccess"&gt;
  
  &lt;processor-chain&gt;
  
    &lt;set-payload value="#[flowVars.operationPayLoad]" doc:name="GetTransactionRequest" /&gt;
  
    &lt;ws:consumer config-ref="GetTransactionWSConsumerConfig" operation="execute" doc:name="GetTransaction" /&gt;
  &lt;/processor-chain&gt;
  </code></pre>
  
  <p></p>
  
  <p>I am only interested in making the until-successful retry if a web service is down or if it times out. No other exception should be retried by the until-successful.</p>
  
  <p>However, I have done a test where I get a org.mule.module.ws.consumer.SoapFaultException but the until-successful keeps trying to call the web service.  </p>
  
  <p>How do I tell the until-successful to ignore all exceptions and stop retrying except for when the web service is down or times out?</p>
  
  <p>Cheers</p>
  
  <p>Max</p>