I am unable to use the AOP method interception via an AutoProxy. It seems whenever this code at line 288 in AbstractSecurityInterceptor

Code:
ConfigAttributeDefinition attr = this.obtainObjectDefinitionSource()
                                                 .getAttributes(object);
is called, it is always returning null, even though the method has been mapped with a role. I have included my mapping below. The acutal method invoked is

Code:
com.ata.adapter.datalex.DatalexAdapterImpl.searchRoundTrip
However the method is never returned when invoked via an autoproxy. The bean is retreived from the providerFactory bean which simply checks that all providers implement the correct interface on intializiation. Can anyone give me a hand with this?

Spring definition

Code:
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

 <!--  Add all service provider adapter to this auto proxy creator.  This will automagically add the
 acegi security method interceptor to every bean when requested from Spring -->
  <bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="interceptorNames">
      <list><value>securityInterceptor</value></list>
    </property>
    <property name="beanNames">
      <list><value>datalexAdapter</value></list>
    </property>
  </bean>

  <!-- This bean specifies which roles are authorized to execute which methods. -->
  <bean id="securityInterceptor" class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
    <!-- reject unauthorized invocations -->
    <property name="rejectPublicInvocations" value="true"/>
    <property name="authenticationManager" ref="authenticationManager"/>
    <property name="accessDecisionManager" ref="accessDecisionManager"/>
    
    <property name="objectDefinitionSource">
    <!--  all implementing classes need public method security added-->
      <value>
        com.ata.adapter.datalex.DatalexAdapterImpl.search*=ROLE_SEARCH
        com.ata.adapter.datalex.DatalexStatelessAdapterImpl.price*=ROLE_PRICE
        com.ata.adapter.datalex.DatalexStatelessAdapterImpl.book*=ROLE_BOOK
      </value>
    </property>
  </bean>

  <!-- This bean specifies which roles are assigned to each user.
  This sets a user map from our WebServiceUserParser -->
  <bean id="userDetailsService" class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">
    <property name="userMap">
    	<ref bean="userMapFactoryBean"/>
    </property>
  </bean>
 
  <!-- This bean specifies that a user can access the protected methods 
   if they have any one of the roles specified in the objectDefinitionSource above. -->
  <bean id="accessDecisionManager" class="org.acegisecurity.vote.AffirmativeBased">
    <property name="decisionVoters">
      <list><ref bean="roleVoter"/></list>
    </property>
  </bean>

  <!-- The next three beans are boilerplate. They should be the same for nearly all applications. -->
  <bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
    <property name="providers">
      <list><ref bean="authenticationProvider"/></list>
    </property>
  </bean>

  <!--  Use a DAO provider
  This still uses UsernamePasswordAuthenticationToken, but requires a 
  WSPasswordCallback as a credential so the password can be
  set into the callback for authentication during the message
  decryption in the additionalAuthenticationChecks method
   -->
  <bean id="authenticationProvider" class="com.ata.webservices.security.WebServiceSecurityDao">
    <property name="userDetailsService" ref="userDetailsService"/>
  </bean>

  <bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter"/>
  
  
  <!-- UserMapLoader bean -->
  <bean id="userMapLoader" class="com.ata.webservices.security.properties.loader.UserMapLoaderImpl">
  	<property name="permissionsFile"><value>webservicesusers.properties</value></property>
  </bean>
  
  <!-- Work around bean for InMemoryDAOImpl -->
  <bean id="userMapFactoryBean" class="com.ata.webservices.security.properties.loader.UserMapFactoryLoader">
  	<property name="loader"><ref bean="userMapLoader"/></property>
  </bean>
  
  <!-- our listener that checks every 30 seconds for a new security file -->
  <bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
	  <!-- wait 10 seconds before starting repeated execution -->
	  <property name="delay"><value>10000</value></property>
	  <!-- run every 30 seconds -->
	  <property name="period"><value>30000</value></property>
	  <property name="timerTask"><ref bean="securityReloader"/></property>
  </bean>
  
  <!-- our actual time task -->
  <bean id="securityReloader" class="com.ata.webservices.security.properties.loader.UserPropertyReloader">
  	<property name="userDetailsService"><ref bean="userDetailsService"/></property>
  	<property name="userMapLoader"><ref bean="userMapLoader"/></property>
  	<property name="paranoid"><value>true</value></property>
  </bean>
  
  <!-- Our own web service implementations -->
  <bean id="flightBankWebService" class="com.ata.webservices.provider.ServiceProviderAdapter">
	<!-- set the service provider factory -->
  	<property name="providerFactory">
  		<ref bean="providerFactory"/>
  	</property>
  	<!-- set the dozer mappings -->
  	<property name="mapper">
  		<ref bean="mapper"/>
  	</property>
  </bean>  
  
    <!-- Provider factory to grab a users business provider -->
  <bean id="providerFactory" class="com.ata.webservices.factory.ServiceProviderFactoryImpl">
	
  	<property name="userDetailsService">
  		<ref bean="userDetailsService"/>
  	</property>
  	<property name="adapters">
  		<map>
  			<entry>
  				<key><value>datalex</value></key>
  				<ref bean="datalexAdapter"/>
  			</entry>
  		</map>
  	</property>
   
  </bean>
  
  
  <bean id="datalexAdapter" class="com.ata.adapter.datalex.DatalexStatelessAdapterImpl">
  	<property name="factory">
  		<ref bean="storeFrontFactory"/>
  	</property>
  </bean>
  
  <!-- datalex adapter config -->
  <bean id="storeFrontFactory" class="com.ata.adapter.datalex.factory.StoreFrontsFactory">
  	<property name="bookitProps"><value>FlightBankImpl.properties</value></property>
  </bean>


  
  
  <!-- dozer converter configuration -->
  <bean id="mapper" 
    class="net.sf.dozer.util.mapping.DozerBeanMapper" singleton="true">
    <property name="mappingFiles">
      <list>
      <value>dozerMappings.xml</value>
      </list>
    </property>
  </bean>
  
</beans>