diff --git a/spring-web/src/main/java/org/springframework/remoting/jaxws/JaxWsPortProxyFactoryBean.java b/spring-web/src/main/java/org/springframework/remoting/jaxws/JaxWsPortProxyFactoryBean.java index ee7ccdfe31da..af96df24647a 100644 --- a/spring-web/src/main/java/org/springframework/remoting/jaxws/JaxWsPortProxyFactoryBean.java +++ b/spring-web/src/main/java/org/springframework/remoting/jaxws/JaxWsPortProxyFactoryBean.java @@ -35,16 +35,30 @@ public class JaxWsPortProxyFactoryBean extends JaxWsPortClientInterceptor implements FactoryBean { private Object serviceProxy; + + private List adviceList; - + public addAdvice(Advice advice){ + + if(adviceList == null){ + adviceList = new ArrayList(); + } + adviceList.add(advice); + } + @Override public void afterPropertiesSet() { super.afterPropertiesSet(); // Build a proxy that also exposes the JAX-WS BindingProvider interface. - ProxyFactory pf = new ProxyFactory(); + ProxyFactory pf = new ProxyFactory(this); pf.addInterface(getServiceInterface()); pf.addInterface(BindingProvider.class); + if(adviceList != null ){ + for(Advice advice : adviceList){ + pf.addAdvice(advice); + } + } pf.addAdvice(this); this.serviceProxy = pf.getProxy(getBeanClassLoader()); } @@ -64,5 +78,12 @@ public Class getObjectType() { public boolean isSingleton() { return true; } - + + public void setAdviceList(List adviceList){ + this.adviceList = adviceList; + } + + public List getAdviceList(){ + return adviceList; + } }