cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dk...@apache.org
Subject svn commit: r638407 - in /incubator/cxf/branches/2.0.x-fixes: ./ rt/core/src/main/java/org/apache/cxf/test/ rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/ rt/frontend/jaxws/src/main/re...
Date Tue, 18 Mar 2008 15:13:55 GMT
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 {



Mime
View raw message