title: Spring Retry does not work on 2nd level of methods
body: <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>