Spring Retry does not work on 2nd level of methods
<p><code>@Retryable</code> doesn't seem to be working on 2nd level of methods as in <code>sphRemoteCall</code> below. I see that a proxy is created but it is never retried on failures.</p>

<p>Once I moved <code>@Retryable</code> to the 1st level of methods like  <code>getSubscriberAccount</code>, it's started working.</p>

<p>Example below:</p>

<pre><code>@Service
public class SphIptvClient extends WebServiceGatewaySupport {
    //Works over here
    @Retryable(maxAttempts=3, backoff=@Backoff(delay=100))
    public GetSubscriberAccountResponse getSubscriberAccount(String loginTocken, String billingServId) {

        GetSubscriberAccountResponse response = (GetSubscriberAccountResponse) sphRemoteCall(sphIptvEndPoint, getSubAcc, "xxxxx");
        return response;
    }

    /*
     * Retryable is not working on the 2nd level methods in the bean. 
     * It works only with methods which are called directly from outside
     * if there is 2nd level method, like this, Retryable is not working.
     */
    //@Retryable
    private Object sphRemoteCall(String uri, Object requestPayload, String soapAction) {
        log.debug("Calling the sph for uri:{} and soapAction:{}", uri, soapAction);
        return getWebServiceTemplate().marshalSendAndReceive(uri, requestPayload, new SoapActionCallback(soapAction));
    }
}

@Configuration
@EnableRetry
public class SphClientConfig {
    @Bean
    public SphIptvClient sphIptvClient() {
        SphIptvClient client = new SphIptvClient();
        return client;
    }
}
</code></pre>