Author: dkulp
Date: Tue Mar 18 08:13:47 2008
New Revision: 638407

URL: http://svn.apache.org/viewvc?rev=638407&view=rev
Log:
Merged revisions 636821 via svnmerge from 
https://svn.apache.org/repos/asf/incubator/cxf/trunk

........
  r636821 | dkulp | 2008-03-13 14:27:48 -0400 (Thu, 13 Mar 2008) | 2 lines
  
  [CXF-1293] Add ability to add handlers to jaxws:[client|endpoint|server] 
stuff via spring config
........

Added:
    
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/handlers/AddNumbersNoHandlers.java
      - copied unchanged from r636821, 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/handlers/AddNumbersNoHandlers.java
    
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/handlers/ModifyNumberHandler.java
      - copied unchanged from r636821, 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/handlers/ModifyNumberHandler.java
    
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/handlers/SpringConfiguredHandlerTest.java
      - copied unchanged from r636821, 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/handlers/SpringConfiguredHandlerTest.java
    
incubator/cxf/branches/2.0.x-fixes/systests/src/test/java/org/apache/cxf/systest/handlers/beans.xml
      - copied unchanged from r636821, 
incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/handlers/beans.xml
Modified:
    incubator/cxf/branches/2.0.x-fixes/   (props changed)
    
incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/test/AbstractCXFSpringTest.java
    
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
    
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
    
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
    
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java
    
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/resources/schemas/jaxws.xsd
    
incubator/cxf/branches/2.0.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/spring/ClientProxyFactoryBeanDefinitionParser.java

Propchange: incubator/cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/test/AbstractCXFSpringTest.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/test/AbstractCXFSpringTest.java?rev=638407&r1=638406&r2=638407&view=diff
==============================================================================
--- 
incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/test/AbstractCXFSpringTest.java
 (original)
+++ 
incubator/cxf/branches/2.0.x-fixes/rt/core/src/main/java/org/apache/cxf/test/AbstractCXFSpringTest.java
 Tue Mar 18 08:13:47 2008
@@ -1,112 +1,115 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.cxf.test;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.BusException;
-import org.junit.After;
-import org.junit.Before;
-import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.GenericApplicationContext;
-import org.springframework.core.io.DefaultResourceLoader;
-import org.springframework.core.io.Resource;
-
-/**
- * Base class for tests that use a Spring bean specification to load up 
components for testing.
- * Unlike the classes that come with Spring, it doesn't drag in the JUnit 3 
hierarchy, and it 
- * doesn't inject into the test itself from the beans.
- */
-public abstract class AbstractCXFSpringTest extends AbstractCXFTest {
-    // subvert JUnit. We want to set up the application context ONCE, since it
-    // is likely to include a Jetty or something else that we can't get rid of.
-    private static GenericApplicationContext applicationContext;
-    private DefaultResourceLoader resourceLoader;
-
-    /**
-     * Load up all the beans from the XML files returned by the 
getConfigLocations method.
-     * @throws Exception 
-     */
-    protected AbstractCXFSpringTest() throws Exception {
-    }
-    
-    @Before
-    public void setupBeans() throws Exception {
-        if (applicationContext != null) {
-            return;
-        }
-        applicationContext = new GenericApplicationContext();
-        resourceLoader = new 
DefaultResourceLoader(getClass().getClassLoader());
-        for (String beanDefinitionPath : getConfigLocations()) {
-            XmlBeanDefinitionReader reader = new 
XmlBeanDefinitionReader(applicationContext);
-            Resource resource = resourceLoader.getResource(beanDefinitionPath);
-            reader.loadBeanDefinitions(resource);
-        }
-        additionalSpringConfiguration(applicationContext);
-        applicationContext.refresh();
-        super.setUpBus();
-    }
-    
-    @Before
-    public void setUpBus() throws Exception {
-        // override the super before method
-    }
-    
-    public Bus createBus() throws BusException {        
-        return getBean(Bus.class, "cxf");
-    }
-    
-    @After
-    public void teardownBeans() {
-        applicationContext.close();
-        applicationContext.destroy();
-        applicationContext = null;
-    }
-    
-    /**
-     * Return an array of resource specifications. 
-     * @see org.springframework.core.io.DefaultResourceLoader for the syntax.
-     * @return array of resource specifications.
-     */
-    protected abstract String[] getConfigLocations();
-
-    protected ApplicationContext getApplicationContext() {
-        return applicationContext;
-    }
-    
-    /**
-     * subclasses may override this.
-     * @param context
-     * @throws Exception 
-     */
-    protected abstract void 
additionalSpringConfiguration(GenericApplicationContext context) throws 
Exception;
-
-    /**
-     * Convenience method for the common case of retrieving a bean from the 
context.
-     * One would expect Spring to have this. 
-     * @param <T> Type of the bean object.
-     * @param type Type of the bean object.
-     * @param beanName ID of the bean.
-     * @return The Bean.
-     */
-    protected <T> T getBean(Class<T> type, String beanName) {
-        return type.cast(applicationContext.getBean(beanName));
-    }
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.cxf.test;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusException;
+import org.junit.After;
+import org.junit.Before;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.DefaultResourceLoader;
+import org.springframework.core.io.Resource;
+
+/**
+ * Base class for tests that use a Spring bean specification to load up 
components for testing.
+ * Unlike the classes that come with Spring, it doesn't drag in the JUnit 3 
hierarchy, and it 
+ * doesn't inject into the test itself from the beans.
+ */
+public abstract class AbstractCXFSpringTest extends AbstractCXFTest {
+    // subvert JUnit. We want to set up the application context ONCE, since it
+    // is likely to include a Jetty or something else that we can't get rid of.
+    private static GenericApplicationContext applicationContext;
+    private DefaultResourceLoader resourceLoader;
+
+    /**
+     * Load up all the beans from the XML files returned by the 
getConfigLocations method.
+     * @throws Exception 
+     */
+    protected AbstractCXFSpringTest() {
+    }
+    
+    @Before
+    public void setupBeans() throws Exception {
+        if (applicationContext != null) {
+            return;
+        }
+        applicationContext = new GenericApplicationContext();
+        resourceLoader = new 
DefaultResourceLoader(getClass().getClassLoader());
+        for (String beanDefinitionPath : getConfigLocations()) {
+            XmlBeanDefinitionReader reader = new 
XmlBeanDefinitionReader(applicationContext);
+            Resource resource = resourceLoader.getResource(beanDefinitionPath);
+            reader.loadBeanDefinitions(resource);
+        }
+        additionalSpringConfiguration(applicationContext);
+        applicationContext.refresh();
+        super.setUpBus();
+    }
+    
+    @Before
+    public void setUpBus() throws Exception {
+        // override the super before method
+    }
+    
+    public Bus createBus() throws BusException {        
+        return getBean(Bus.class, "cxf");
+    }
+    
+    @After
+    public void teardownBeans() {
+        applicationContext.close();
+        applicationContext.destroy();
+        applicationContext = null;
+    }
+    
+    /**
+     * Return an array of resource specifications. 
+     * @see org.springframework.core.io.DefaultResourceLoader for the syntax.
+     * @return array of resource specifications.
+     */
+    protected abstract String[] getConfigLocations();
+
+    protected ApplicationContext getApplicationContext() {
+        return applicationContext;
+    }
+    
+    /**
+     * subclasses may override this.
+     * @param context
+     * @throws Exception 
+     */
+    protected void additionalSpringConfiguration(GenericApplicationContext 
context) throws Exception {
+        //default - do nothing
+    }
+
+    /**
+     * Convenience method for the common case of retrieving a bean from the 
context.
+     * One would expect Spring to have this. 
+     * @param <T> Type of the bean object.
+     * @param type Type of the bean object.
+     * @param beanName ID of the bean.
+     * @return The Bean.
+     */
+    protected <T> T getBean(Class<T> type, String beanName) {
+        return type.cast(applicationContext.getBean(beanName));
+    }
 }
+

Modified: 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java?rev=638407&r1=638406&r2=638407&view=diff
==============================================================================
--- 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
 (original)
+++ 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
 Tue Mar 18 08:13:47 2008
@@ -29,6 +29,7 @@
 import javax.xml.transform.Source;
 import javax.xml.ws.Binding;
 import javax.xml.ws.WebServicePermission;
+import javax.xml.ws.handler.Handler;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
@@ -85,6 +86,7 @@
     private List<Interceptor> out = new 
ModCountCopyOnWriteArrayList<Interceptor>();
     private List<Interceptor> outFault  = new 
ModCountCopyOnWriteArrayList<Interceptor>();
     private List<Interceptor> inFault  = new 
ModCountCopyOnWriteArrayList<Interceptor>();
+    private List<Handler> handlers = new 
ModCountCopyOnWriteArrayList<Handler>();
 
     public EndpointImpl(Object implementor) {
         this(BusFactory.getThreadDefaultBus(), implementor);
@@ -293,7 +295,10 @@
             if (executor != null) {
                 serverFactory.getServiceFactory().setExecutor(executor);
             }
-            
+            if (handlers.size() > 0) {
+                serverFactory.addHandlers(handlers);
+            }
+
             configureObject(serverFactory);
             
             server = serverFactory.create();
@@ -435,6 +440,13 @@
 
     public void setOutFaultInterceptors(List<Interceptor> interceptors) {
         outFault = interceptors;
+    }
+    public void setHandlers(List<Handler> h) {
+        handlers.clear();
+        handlers.addAll(h);
+    }
+    public List<Handler> getHandlers() {
+        return handlers;
     }
 
     public List<AbstractFeature> getFeatures() {

Modified: 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java?rev=638407&r1=638406&r2=638407&view=diff
==============================================================================
--- 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
 (original)
+++ 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsProxyFactoryBean.java
 Tue Mar 18 08:13:47 2008
@@ -18,25 +18,80 @@
  */
 package org.apache.cxf.jaxws;
 
+import java.lang.reflect.Proxy;
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.xml.ws.BindingProvider;
+import javax.xml.ws.handler.Handler;
 
+import org.apache.cxf.common.injection.ResourceInjector;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.frontend.ClientProxy;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
+import org.apache.cxf.jaxws.context.WebServiceContextResourceResolver;
+import org.apache.cxf.jaxws.handler.AnnotationHandlerChainBuilder;
 import org.apache.cxf.jaxws.support.JaxWsEndpointImpl;
+import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
+import org.apache.cxf.resource.DefaultResourceManager;
+import org.apache.cxf.resource.ResourceManager;
+import org.apache.cxf.resource.ResourceResolver;
 
 public class JaxWsProxyFactoryBean extends ClientProxyFactoryBean {
+    List<Handler> handlers = new ArrayList<Handler>();
+    
     public JaxWsProxyFactoryBean() {
         super(new JaxWsClientFactoryBean());
     }
 
+    public void setHandlers(List<Handler> h) {
+        handlers.clear();
+        handlers.addAll(h);
+    }
+    public List<Handler> getHandlers() {
+        return handlers;
+    }
+
+    
     @Override
     protected ClientProxy clientClientProxy(Client c) {
-        return new JaxWsClientProxy(c, ((JaxWsEndpointImpl)  
c.getEndpoint()).getJaxwsBinding());
+        JaxWsClientProxy cp = new JaxWsClientProxy(c, 
+                                                   
((JaxWsEndpointImpl)c.getEndpoint()).getJaxwsBinding());
+        buildHandlerChain(cp);
+        return cp;
     }
 
     protected Class[] getImplementingClasses() {
         Class cls = getClientFactoryBean().getServiceClass();
         return new Class[] {cls, BindingProvider.class};
+    }
+   
+    private void buildHandlerChain(JaxWsClientProxy cp) {
+        AnnotationHandlerChainBuilder builder = new 
AnnotationHandlerChainBuilder();
+        JaxWsServiceFactoryBean sf = 
(JaxWsServiceFactoryBean)getServiceFactory(); 
+        List<Handler> chain = new ArrayList<Handler>(handlers);
+        chain.addAll(builder.buildHandlerChainFromClass(sf.getServiceClass(), 
+                                                        
sf.getEndpointInfo().getName()));
+        
+        
+
+        if (!chain.isEmpty()) {
+            ResourceManager resourceManager = 
getBus().getExtension(ResourceManager.class);
+            List<ResourceResolver> resolvers = 
resourceManager.getResourceResolvers();
+            resourceManager = new DefaultResourceManager(resolvers); 
+            resourceManager.addResourceResolver(new 
WebServiceContextResourceResolver());
+            ResourceInjector injector = new ResourceInjector(resourceManager);
+            for (Handler h : chain) {
+                if (Proxy.isProxyClass(h.getClass()) && getServiceClass() != 
null) {
+                    injector.inject(h, getServiceClass());
+                    injector.construct(h, getServiceClass());
+                } else {
+                    injector.inject(h);
+                    injector.construct(h);
+                }
+            }
+        }
+        
+        cp.getBinding().setHandlerChain(chain);
     }
 }

Modified: 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java?rev=638407&r1=638406&r2=638407&view=diff
==============================================================================
--- 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
 (original)
+++ 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
 Tue Mar 18 08:13:47 2008
@@ -21,6 +21,7 @@
 
 
 import java.lang.reflect.Proxy;
+import java.util.ArrayList;
 import java.util.List;
 
 import javax.xml.ws.WebServiceException;
@@ -58,6 +59,7 @@
  */
 public class JaxWsServerFactoryBean extends ServerFactoryBean {
     protected boolean doInit;
+    protected List<Handler> handlers = new ArrayList<Handler>();
     
     public JaxWsServerFactoryBean() {
         this(new JaxWsServiceFactoryBean());
@@ -71,6 +73,17 @@
         setBindingConfig(defConfig);
         doInit = true;
     }
+    
+    public void setHandlers(List<Handler> h) {
+        handlers.clear();
+        handlers.addAll(h);
+    }
+    public void addHandlers(List<Handler> h) {
+        handlers.addAll(h);
+    }
+    public List<Handler> getHandlers() {
+        return handlers;
+    }
 
     /**
      * Add annotationed Interceptors and Features to the Endpoint
@@ -171,13 +184,14 @@
      */
     private void buildHandlerChain() {
         AnnotationHandlerChainBuilder builder = new 
AnnotationHandlerChainBuilder();
-
-        List<Handler> chain = 
builder.buildHandlerChainFromClass(getServiceBeanClass(),
-                                                                 
getEndpointName());
+        JaxWsServiceFactoryBean sf = 
(JaxWsServiceFactoryBean)getServiceFactory(); 
+        List<Handler> chain = new ArrayList<Handler>(handlers);
+        
+        chain.addAll(builder.buildHandlerChainFromClass(getServiceBeanClass(),
+                                                        
sf.getEndpointInfo().getName()));
         for (Handler h : chain) {
             injectResources(h);
         }
-        
         
((JaxWsEndpointImpl)getServer().getEndpoint()).getJaxwsBinding().setHandlerChain(chain);
     }
     

Modified: 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java?rev=638407&r1=638406&r2=638407&view=diff
==============================================================================
--- 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java
 (original)
+++ 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java
 Tue Mar 18 08:13:47 2008
@@ -107,7 +107,8 @@
                     setFirstChildAsProperty((Element) n, ctx, bean, 
"bindingConfig");
                 } else if ("inInterceptors".equals(name) || 
"inFaultInterceptors".equals(name)
                     || "outInterceptors".equals(name) || 
"outFaultInterceptors".equals(name)
-                    || "features".equals(name) || 
"schemaLocations".equals(name)) {
+                    || "features".equals(name) || 
"schemaLocations".equals(name)
+                    || "handlers".equals(name)) {
                     List list = ctx.getDelegate().parseListElement((Element) 
n, bean.getBeanDefinition());
                     bean.addPropertyValue(name, list);
                 } else if (IMPLEMENTOR.equals(name)) {

Modified: 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/resources/schemas/jaxws.xsd
URL: 
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/resources/schemas/jaxws.xsd?rev=638407&r1=638406&r2=638407&view=diff
==============================================================================
--- 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/resources/schemas/jaxws.xsd
 (original)
+++ 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/resources/schemas/jaxws.xsd
 Tue Mar 18 08:13:47 2008
@@ -38,6 +38,7 @@
             <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="handlers" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="implementor" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0"/>
             <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0"/>
@@ -73,6 +74,7 @@
             <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="handlers" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0"/>
             <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0"/>
             <xsd:element name="invoker" type="xsd:anyType" minOccurs="0"/>
@@ -107,6 +109,7 @@
             <xsd:element name="binding" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="dataBinding" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="features" type="xsd:anyType" minOccurs="0"/>
+            <xsd:element name="handlers" type="xsd:anyType" minOccurs="0"/>
             <xsd:element name="inInterceptors" type="xsd:anyType" 
minOccurs="0"/>
             <xsd:element name="inFaultInterceptors" type="xsd:anyType" 
minOccurs="0"/>
             <xsd:element name="outInterceptors" type="xsd:anyType" 
minOccurs="0"/>

Modified: 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/spring/ClientProxyFactoryBeanDefinitionParser.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/spring/ClientProxyFactoryBeanDefinitionParser.java?rev=638407&r1=638406&r2=638407&view=diff
==============================================================================
--- 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/spring/ClientProxyFactoryBeanDefinitionParser.java
 (original)
+++ 
incubator/cxf/branches/2.0.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/spring/ClientProxyFactoryBeanDefinitionParser.java
 Tue Mar 18 08:13:47 2008
@@ -72,7 +72,7 @@
             setFirstChildAsProperty(e, ctx, bean, "bindingConfig");
         } else if ("inInterceptors".equals(name) || 
"inFaultInterceptors".equals(name)
             || "outInterceptors".equals(name) || 
"outFaultInterceptors".equals(name)
-            || "features".equals(name)) {
+            || "features".equals(name) || "handlers".equals(name)) {
             List list = ctx.getDelegate().parseListElement(e, 
bean.getBeanDefinition());
             bean.addPropertyValue(name, list);
         } else {


Reply via email to