cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Mao <james....@iona.com>
Subject Re: svn commit: r526945 [1/2] - in /incubator/cxf/trunk: api/src/main/java/org/apache/cxf/endpoint/ api/src/main/java/org/apache/cxf/message/ api/src/main/java/org/apache/cxf/service/ common/common/src/main/java/org/apache/cxf/configuration/spring/ parent/...
Date Tue, 10 Apr 2007 12:01:05 GMT
Hi Dan,

Can you also fix the build warnings in
rt\frontend\jaxws\src\test\java\org\apache\cxf\jaxws\EndpointImplTest.java
due to the [deprecation] of EndpointImpl

C:\src\java\apache\cxf\rt\frontend\jaxws\src\test\java\org\apache\cxf\jaxws\Endp
ointImplTest.java:[80,32] 警告:[deprecation] 
org.apache.cxf.jaxws.EndpointImpl
中的 
EndpointImpl(org.apache.cxf.Bus,java.lang.Object,org.apache.cxf.jaxws.suppo
rt.JaxWsServiceFactoryBean) 已过时

C:\src\java\apache\cxf\rt\frontend\jaxws\src\test\java\org\apache\cxf\jaxws\Endp
ointImplTest.java:[104,32] 警告:[deprecation] 
org.apache.cxf.jaxws.EndpointImpl
 中的 
EndpointImpl(org.apache.cxf.Bus,java.lang.Object,org.apache.cxf.jaxws.supp
ort.JaxWsServiceFactoryBean) 已过时

C:\src\java\apache\cxf\rt\frontend\jaxws\src\test\java\org\apache\cxf\jaxws\Endp
ointImplTest.java:[124,12] 警告:[deprecation] 
org.apache.cxf.jaxws.EndpointImpl
 中的 
EndpointImpl(org.apache.cxf.Bus,java.lang.Object,org.apache.cxf.jaxws.supp
ort.JaxWsServiceFactoryBean) 已过时

Thanks,
James.

> Author: dandiep
> Date: Mon Apr  9 16:05:51 2007
> New Revision: 526945
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=526945
> Log:
> o Enabled usage of <jaxws:endpoint> when using Endpoint.publish():
>   - Removed EndpointFactoryBean and just use EndpointImpl
>   - Added many getters/setters to configure the Endpointimpl
>   - Added constructor to pass in ServerFactoryBean instead of 
>     ServiceFactoryBean. Deprecated old constructors because this
>     is more correct and 99% of the people can probably just use
>     the getters/setters on EndpointImpl now.
> o Renamed BindingInfoConfigBean objects to *BindingConfiguration.
>   These all inherit from BindingConfiguration which has an abstract
>   method getBindingId().
> o Removed Endpoint/Service.enableSchemaValidation and made it a 
>   service property instead. I also changed the constant 
>   Message.ENABLE_SCHEMA_VALIDATION to be more amenable to config files.
> o Upgrade to Spring 2.0.3 and fix issues with SpringBeanMap in this
>   latest version.
> o Add a property editor for SoapVersions so we can specify "1.2" in 
>   the xml configuration for a <jaxws:endpoint>
> o Fix several bugs with the JaxWsServiceConfiguration
> o Don't create an Invoker inside JaxWsServiceFactoryBean, do it in the
>   JaxWsSERVERFactoryBean instead
>
>
> Added:
>     incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfiguration.java
>       - copied, changed from r525926, incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfigBean.java
>     incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingConfiguration.java
>       - copied, changed from r525649, incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingInfoConfigBean.java
>     incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java   (with props)
>     incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java   (with props)
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingConfiguration.java
>       - copied, changed from r526927, incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingInfoConfigBean.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java
>       - copied, changed from r526469, incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointFactoryBeanDefinitionParser.java
> Removed:
>     incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfigBean.java
>     incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingInfoConfigBean.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingInfoConfigBean.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointFactoryBean.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointFactoryBeanDefinitionParser.java
> Modified:
>     incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Endpoint.java
>     incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java
>     incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/Service.java
>     incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java
>     incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/SpringBeanMap.java
>     incubator/cxf/trunk/parent/pom.xml
>     incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/BareServiceTest.java
>     incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/ClientTest.java
>     incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/wrapped/WrappedServiceTest.java
>     incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingFactory.java
>     incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/spring/ObjectBindingConfigBeanDefinintionParser.java
>     incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
>     incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/spring/SoapBindingInfoConfigBeanDefinitionParser.java
>     incubator/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
>     incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/EndpointImpl.java
>     incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java
>     incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractOutDatabindingInterceptor.java
>     incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceImpl.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/NamespaceHandler.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/main/resources/org/apache/cxf/jaxws/spring/jaxws.xsd
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/ConfiguredEndpointTest.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/HeaderTest.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/configured-endpoints.xml
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/HolderService.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/HolderServiceImpl.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/holder/HolderTest.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/provider/ProviderServiceFactoryTest.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/SpringBeansTest.java
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/endpoints.xml
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/spring/servers.xml
>     incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/support/JaxWsServiceConfigurationTest.java
>     incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractEndpointFactory.java
>     incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
>     incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/WrappedEndpoint.java
>     incubator/cxf/trunk/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/WrappedService.java
>     incubator/cxf/trunk/rt/ws/security/src/test/java/org/apache/cxf/ws/security/wss4j/RoundTripTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/MtomServerTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/schema_validation/cxf-config.xml
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/SpringServletTest.java
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/servlet/spring.xml
>     incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/type_test/databinding-schema-validation.xml
>
> Modified: incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Endpoint.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Endpoint.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Endpoint.java (original)
> +++ incubator/cxf/trunk/api/src/main/java/org/apache/cxf/endpoint/Endpoint.java Mon Apr  9 16:05:51 2007
> @@ -51,9 +51,5 @@
>      void setInFaultObserver(MessageObserver observer);
>      
>      void setOutFaultObserver(MessageObserver observer);
> -    
> -    boolean getEnableSchemaValidation();
> -    
> -    void setEnableSchemaValidation(boolean value);
>  
>  }
>
> Modified: incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java (original)
> +++ incubator/cxf/trunk/api/src/main/java/org/apache/cxf/message/Message.java Mon Apr  9 16:05:51 2007
> @@ -49,7 +49,7 @@
>      String PATH_INFO = Message.class.getName() + ".PATH_INFO";
>      String QUERY_STRING = Message.class.getName() + ".QUERY_STRING";
>      String MTOM_ENABLED = "mtom-enabled";
> -    String SCHEMA_VALIDATION_ENABLED = Message.class.getCanonicalName() + ".schemaValidationEnabled";
> +    String SCHEMA_VALIDATION_ENABLED = "schema-validation-enabled";
>      String FAULT_STACKTRACE_ENABLED = "faultStackTraceEnabled";
>      String CONTENT_TYPE = "Content-Type";
>      String BASE_PATH = Message.class.getName() + ".BASE_PATH";
>
> Modified: incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/Service.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/Service.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/Service.java (original)
> +++ incubator/cxf/trunk/api/src/main/java/org/apache/cxf/service/Service.java Mon Apr  9 16:05:51 2007
> @@ -49,8 +49,4 @@
>      void setInvoker(Invoker invoker);
>      
>      Map<QName, Endpoint> getEndpoints();
> -    
> -    void setEnableSchemaValidationForAllPort(boolean value);
> -    
> -    boolean getEnableSchemaValidationForAllPort();
>  }
>
> Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java (original)
> +++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/AbstractBeanDefinitionParser.java Mon Apr  9 16:05:51 2007
> @@ -40,11 +40,18 @@
>  public abstract class AbstractBeanDefinitionParser extends AbstractSingleBeanDefinitionParser {
>  
>      protected void setFirstChildAsProperty(Element element, ParserContext ctx, 
> -                                         BeanDefinitionBuilder bean, String string) {
> +                                         BeanDefinitionBuilder bean, String propertyName) {
> +        String id = getAndRegisterFirstChild(element, ctx, bean, propertyName);
> +        bean.addPropertyReference(propertyName, id);
> +        
> +    }
> +
> +    protected String getAndRegisterFirstChild(Element element, ParserContext ctx, 
> +                                              BeanDefinitionBuilder bean, String propertyName) {
>          Element first = getFirstChild(element);
>          
>          if (first == null) {
> -            throw new IllegalStateException(string + " property must have child elements!");
> +            throw new IllegalStateException(propertyName + " property must have child elements!");
>          }
>          
>          // Seems odd that we have to do the registration, I wonder if there is a better way
> @@ -61,8 +68,7 @@
>          }
>         
>          ctx.getRegistry().registerBeanDefinition(id, child);
> -        bean.addPropertyReference(string, id);
> -        
> +        return id;
>      }
>  
>      protected Element getFirstChild(Element element) {
>
> Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/SpringBeanMap.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/SpringBeanMap.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/SpringBeanMap.java (original)
> +++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/configuration/spring/SpringBeanMap.java Mon Apr  9 16:05:51 2007
> @@ -24,6 +24,7 @@
>  import java.util.ArrayList;
>  import java.util.Collection;
>  import java.util.HashSet;
> +import java.util.Iterator;
>  import java.util.List;
>  import java.util.Map;
>  import java.util.Set;
> @@ -38,6 +39,9 @@
>  import org.springframework.beans.factory.BeanIsAbstractException;
>  import org.springframework.beans.factory.InitializingBean;
>  import org.springframework.beans.factory.config.BeanDefinition;
> +import org.springframework.beans.factory.config.TypedStringValue;
> +import org.springframework.beans.factory.support.ManagedList;
> +import org.springframework.beans.factory.support.ManagedSet;
>  import org.springframework.context.ApplicationContext;
>  import org.springframework.context.ApplicationContextAware;
>  import org.springframework.context.ConfigurableApplicationContext;
> @@ -100,6 +104,18 @@
>                      }
>                  }
>                  
> +                if (ids instanceof ManagedSet || ids instanceof ManagedList) {
> +                    List<String> newIds = new ArrayList<String>();
> +                    for (Iterator itr = ids.iterator(); itr.hasNext();) {
> +                        Object o = itr.next();
> +                        if (o instanceof TypedStringValue) {
> +                            newIds.add(((TypedStringValue) o).getValue());
> +                        } else {
> +                            newIds.add((String) o);
> +                        }
> +                    }
> +                    ids = newIds;
> +                }
>                  for (Object id : ids) {
>                      idToBeanName.put(id.toString(), beanNames[i]);
>                  }
>
> Modified: incubator/cxf/trunk/parent/pom.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/parent/pom.xml?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/parent/pom.xml (original)
> +++ incubator/cxf/trunk/parent/pom.xml Mon Apr  9 16:05:51 2007
> @@ -46,7 +46,7 @@
>          <jaxws.version>2.0</jaxws.version>
>          <jetty.version>5.1.11</jetty.version>
>          <saaj.version>1.3</saaj.version>
> -        <spring.version>2.0</spring.version>
> +        <spring.version>2.0.3</spring.version>
>          <wsdl4j.version>1.6.1</wsdl4j.version>
>          <derby.version>10.1.1.0</derby.version>
>          <activemq.version>4.1.0-incubator</activemq.version>
>
> Modified: incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/BareServiceTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/BareServiceTest.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/BareServiceTest.java (original)
> +++ incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/BareServiceTest.java Mon Apr  9 16:05:51 2007
> @@ -48,7 +48,8 @@
>          sf.setServiceClass(CustomerService.class);
>          sf.getServiceFactory().setWrapped(false);
>          sf.setAddress("http://localhost:9001/foo/");
> -
> +        sf.setServiceBean(new CustomerService());
> +        
>          Map<String, Object> props = new HashMap<String, Object>();
>          props.put("contextMatchStrategy", "stem");
>          sf.setProperties(props);
> @@ -130,7 +131,8 @@
>          sf.setServiceClass(CustomerService.class);
>          sf.getServiceFactory().setWrapped(false);
>          sf.setAddress("http://localhost:9001/foo/");
> -
> +        sf.setServiceBean(new CustomerService());
> +        
>          Map<String, Object> props = new HashMap<String, Object>();
>          props.put("Content-Type", "text/plain");
>          sf.setProperties(props);
>
> Modified: incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/ClientTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/ClientTest.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/ClientTest.java (original)
> +++ incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/bare/ClientTest.java Mon Apr  9 16:05:51 2007
> @@ -45,7 +45,8 @@
>          sf.setServiceClass(CustomerService.class);
>          sf.getServiceFactory().setWrapped(false);
>          sf.setAddress("http://localhost:9001/foo/");
> -
> +        sf.setServiceBean(new CustomerService());
> +        
>          Map<String, Object> props = new HashMap<String, Object>();
>          props.put("contextMatchStrategy", "stem");
>          sf.setProperties(props);
>
> Modified: incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/wrapped/WrappedServiceTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/wrapped/WrappedServiceTest.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/wrapped/WrappedServiceTest.java (original)
> +++ incubator/cxf/trunk/rt/bindings/http/src/test/java/org/apache/cxf/binding/http/wrapped/WrappedServiceTest.java Mon Apr  9 16:05:51 2007
> @@ -59,7 +59,8 @@
>          sf.setServiceClass(CustomerService.class);
>          sf.getServiceFactory().setWrapped(true);
>          sf.setAddress("http://localhost:9001/");
> -
> +        sf.setServiceBean(new CustomerService());
> +        
>          Map<String, Object> props = new HashMap<String, Object>();
>          props.put("contextMatchStrategy", "stem");
>          sf.setProperties(props);
>
> Copied: incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfiguration.java (from r525926, incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfigBean.java)
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfiguration.java?view=diff&rev=526945&p1=incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfigBean.java&r1=525926&p2=incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfiguration.java&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfigBean.java (original)
> +++ incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingConfiguration.java Mon Apr  9 16:05:51 2007
> @@ -20,9 +20,16 @@
>  
>  import java.util.Set;
>  
> -public class ObjectBindingConfigBean {
> +import org.apache.cxf.binding.BindingConfiguration;
> +
> +public class ObjectBindingConfiguration extends BindingConfiguration {
>      private boolean stopAfterLogicalPhases = true;
>      private Set<String> skipPhases;
> +    
> +    @Override
> +    public String getBindingId() {
> +        return ObjectBindingFactory.BINDING_ID;
> +    }
>  
>      public Set<String> getSkipPhases() {
>          return skipPhases;
>
> Modified: incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingFactory.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingFactory.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingFactory.java (original)
> +++ incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/ObjectBindingFactory.java Mon Apr  9 16:05:51 2007
> @@ -56,8 +56,8 @@
>      public BindingInfo createBindingInfo(ServiceInfo si, String bindingid, Object config) {
>          BindingInfo info = super.createBindingInfo(si, bindingid, config);
>          
> -        if (config instanceof ObjectBindingConfigBean) {
> -            ObjectBindingConfigBean c = (ObjectBindingConfigBean) config;
> +        if (config instanceof ObjectBindingConfiguration) {
> +            ObjectBindingConfiguration c = (ObjectBindingConfiguration) config;
>              
>              info.setProperty(STOP_AFTER_LOGICAL, c.isStopAfterLogicalPhases());
>          }
>
> Modified: incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/spring/ObjectBindingConfigBeanDefinintionParser.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/spring/ObjectBindingConfigBeanDefinintionParser.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/spring/ObjectBindingConfigBeanDefinintionParser.java (original)
> +++ incubator/cxf/trunk/rt/bindings/object/src/main/java/org/apache/cxf/binding/object/spring/ObjectBindingConfigBeanDefinintionParser.java Mon Apr  9 16:05:51 2007
> @@ -22,7 +22,7 @@
>  import org.w3c.dom.Element;
>  import org.w3c.dom.NamedNodeMap;
>  
> -import org.apache.cxf.binding.object.ObjectBindingConfigBean;
> +import org.apache.cxf.binding.object.ObjectBindingConfiguration;
>  import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
>  import org.springframework.beans.factory.support.BeanDefinitionBuilder;
>  import org.springframework.beans.factory.xml.ParserContext;
> @@ -41,7 +41,7 @@
>  
>      @Override
>      protected Class getBeanClass(Element arg0) {
> -        return ObjectBindingConfigBean.class;
> +        return ObjectBindingConfiguration.class;
>      }
>  
>  }
>
> Copied: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingConfiguration.java (from r525649, incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingInfoConfigBean.java)
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingConfiguration.java?view=diff&rev=526945&p1=incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingInfoConfigBean.java&r1=525649&p2=incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingConfiguration.java&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingInfoConfigBean.java (original)
> +++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingConfiguration.java Mon Apr  9 16:05:51 2007
> @@ -18,23 +18,27 @@
>   */
>  package org.apache.cxf.binding.soap;
>  
> +import org.apache.cxf.binding.BindingConfiguration;
>  import org.apache.cxf.service.model.BindingOperationInfo;
>  import org.apache.cxf.service.model.MessagePartInfo;
>  import org.apache.cxf.service.model.OperationInfo;
>  
> -public class SoapBindingInfoConfigBean {
> +public class SoapBindingConfiguration extends BindingConfiguration {
>      private SoapVersion soapVersion = Soap11.getInstance();
>      private String style = "document";
>      private String use;
>      private String transportURI = "http://schemas.xmlsoap.org/soap/http";
>      private String defaultSoapAction = "";
>      private boolean mtomEnabled;
> -    
> -
>  
> +    @Override
> +    public String getBindingId() {
> +        return "http://schemas.xmlsoap.org/soap/";
> +    }
>  
>      protected boolean isHeader(BindingOperationInfo op, MessagePartInfo part) {
> -        return false;
> +        Object isHeader = part.getProperty("messagepart.isheader");
> +        return Boolean.TRUE.equals(isHeader);
>      }
>  
>      public String getSoapAction(OperationInfo op) {
> @@ -57,12 +61,12 @@
>          return getStyle();
>      }
>  
> -    public SoapVersion getSoapVersion() {
> +    public SoapVersion getVersion() {
>          return soapVersion;
>      }
>  
> -    public void setSoapVersion(SoapVersion soapVersion) {
> -        this.soapVersion = soapVersion;
> +    public void setVersion(SoapVersion sv) {
> +        this.soapVersion = sv;
>      }
>  
>      public String getUse() {
>
> Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java (original)
> +++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java Mon Apr  9 16:05:51 2007
> @@ -90,16 +90,16 @@
>      }
>  
>      public BindingInfo createBindingInfo(ServiceInfo si, String bindingid, Object conf) {
> -        SoapBindingInfoConfigBean config;
> -        if (conf instanceof SoapBindingInfoConfigBean) {
> -            config = (SoapBindingInfoConfigBean)conf;
> +        SoapBindingConfiguration config;
> +        if (conf instanceof SoapBindingConfiguration) {
> +            config = (SoapBindingConfiguration)conf;
>          } else {
> -            config = new SoapBindingInfoConfigBean();
> +            config = new SoapBindingConfiguration();
>          }
>          
>          SoapBindingInfo info = new SoapBindingInfo(si,
>                                                     "http://schemas.xmlsoap.org/wsdl/soap/",
> -                                                   config.getSoapVersion());
> +                                                   config.getVersion());
>          
>          info.setName(new QName(si.getName().getNamespaceURI(), 
>                                 si.getName().getLocalPart() + "SoapBinding"));
> @@ -156,7 +156,7 @@
>                                BindingMessageInfo bMsg, 
>                                BindingMessageInfo unwrappedBMsg, 
>                                MessageInfo msg,
> -                              SoapBindingInfoConfigBean config) {
> +                              SoapBindingConfiguration config) {
>          List<MessagePartInfo> parts = new ArrayList<MessagePartInfo>();
>          for (MessagePartInfo part : msg.getMessageParts()) {
>              if (config.isHeader(op, part)) {
>
> Added: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java?view=auto&rev=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java (added)
> +++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java Mon Apr  9 16:05:51 2007
> @@ -0,0 +1,43 @@
> +/**
> + * 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.binding.soap;
> +
> +import java.beans.PropertyEditorSupport;
> +
> +public class SoapVersionPropertyEditor extends PropertyEditorSupport {
> +
> +    private SoapVersion version;
> +
> +    @Override
> +    public Object getValue() {
> +        return version;
> +    }
> +
> +    @Override
> +    public void setAsText(String text) throws IllegalArgumentException {
> +        if ("1.2".equals(text)) {
> +            this.version = Soap12.getInstance();
> +        } else if ("1.1".equals(text)) {
> +            this.version = Soap11.getInstance();
> +        } else {
> +            super.setAsText(text);
> +        }
> +    }
> +
> +}
>
> Propchange: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java
> ------------------------------------------------------------------------------
>     svn:executable = *
>
> Propchange: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapVersionPropertyEditor.java
> ------------------------------------------------------------------------------
>     svn:keywords = Rev Date
>
> Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/spring/SoapBindingInfoConfigBeanDefinitionParser.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/spring/SoapBindingInfoConfigBeanDefinitionParser.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/spring/SoapBindingInfoConfigBeanDefinitionParser.java (original)
> +++ incubator/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/spring/SoapBindingInfoConfigBeanDefinitionParser.java Mon Apr  9 16:05:51 2007
> @@ -22,7 +22,7 @@
>  import org.w3c.dom.Element;
>  import org.w3c.dom.NamedNodeMap;
>  
> -import org.apache.cxf.binding.soap.SoapBindingInfoConfigBean;
> +import org.apache.cxf.binding.soap.SoapBindingConfiguration;
>  import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
>  import org.springframework.beans.factory.support.BeanDefinitionBuilder;
>  import org.springframework.beans.factory.xml.ParserContext;
> @@ -41,7 +41,7 @@
>  
>      @Override
>      protected Class getBeanClass(Element arg0) {
> -        return SoapBindingInfoConfigBean.class;
> +        return SoapBindingConfiguration.class;
>      }
>  
>  }
>
> Modified: incubator/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml (original)
> +++ incubator/cxf/trunk/rt/bindings/soap/src/main/resources/META-INF/cxf/cxf-extension-soap.xml Mon Apr  9 16:05:51 2007
> @@ -44,4 +44,15 @@
>          </property>
>          <property name="bus" ref="cxf"/>
>      </bean>
> +        
> +	<bean id="org.apache.cxf.binding.soap.customEditorConfigurer"
> +		class="org.springframework.beans.factory.config.CustomEditorConfigurer">
> +		<property name="customEditors">
> +			<map>
> +				<entry key="org.apache.cxf.binding.soap.SoapVersion">
> +					<bean class="org.apache.cxf.binding.soap.SoapVersionPropertyEditor"/>
> +				</entry>
> +			</map>
> +		</property>
> +	</bean>
>  </beans>
>
> Added: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java?view=auto&rev=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java (added)
> +++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java Mon Apr  9 16:05:51 2007
> @@ -0,0 +1,26 @@
> +/**
> + * 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.binding;
> +
> +/**
> + * A configuration for a binding.
> + */
> +public abstract class BindingConfiguration {
> +    public abstract String getBindingId();
> +}
>
> Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java
> ------------------------------------------------------------------------------
>     svn:eol-style = native
>
> Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java
> ------------------------------------------------------------------------------
>     svn:executable = *
>
> Propchange: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/binding/BindingConfiguration.java
> ------------------------------------------------------------------------------
>     svn:keywords = Rev Date
>
> Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/EndpointImpl.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/EndpointImpl.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/EndpointImpl.java (original)
> +++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/endpoint/EndpointImpl.java Mon Apr  9 16:05:51 2007
> @@ -19,6 +19,7 @@
>  
>  package org.apache.cxf.endpoint;
>  
> +import java.util.Map;
>  import java.util.ResourceBundle;
>  import java.util.concurrent.Executor;
>  import java.util.logging.Logger;
> @@ -55,7 +56,6 @@
>      private Bus bus;
>      private MessageObserver inFaultObserver;
>      private MessageObserver outFaultObserver;
> -    private boolean schemaValidation;
>  
>      public EndpointImpl(Bus bus, Service s, QName endpointName) throws EndpointException {
>          this(bus, s, s.getServiceInfo().getEndpoint(endpointName));
> @@ -84,7 +84,7 @@
>      }
>      
>      public String getBeanName() {
> -        return endpointInfo.getName().toString();
> +        return endpointInfo.getName().toString() + ".endpoint";
>      }
>      
>     
> @@ -141,13 +141,6 @@
>      public MessageObserver getOutFaultObserver() {
>          return outFaultObserver;
>      }
> -    
> -    public void setEnableSchemaValidation(boolean value) {
> -        schemaValidation = value;
> -    }
> -    public boolean getEnableSchemaValidation() {
> -        return schemaValidation;
> -    }
>  
>      public void setInFaultObserver(MessageObserver observer) {
>          inFaultObserver = observer;        
> @@ -157,7 +150,14 @@
>          outFaultObserver = observer;
>          
>      }
> -
> -   
> +    
> +    /**
> +     * Utility method to make it easy to set properties from Spring.
> +     * 
> +     * @param properties
> +     */
> +    public void setProperties(Map<String, Object> properties) {
> +        this.putAll(properties);
> +    }
>      
>  }
>
> Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java (original)
> +++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractInDatabindingInterceptor.java Mon Apr  9 16:05:51 2007
> @@ -78,7 +78,8 @@
>      }
>  
>      private void setSchemaInMessage(Service service, Message message, DataReader<?> reader) {
> -        if (Boolean.TRUE.equals(message.getContextualProperty(Message.SCHEMA_VALIDATION_ENABLED))) {
> +        Object en = message.getContextualProperty(Message.SCHEMA_VALIDATION_ENABLED);
> +        if (Boolean.TRUE.equals(en) || "true".equals(en)) {
>              Schema schema = EndpointReferenceUtils.getSchema(service.getServiceInfo());
>              reader.setSchema(schema);
>          }
>
> Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractOutDatabindingInterceptor.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractOutDatabindingInterceptor.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractOutDatabindingInterceptor.java (original)
> +++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractOutDatabindingInterceptor.java Mon Apr  9 16:05:51 2007
> @@ -57,7 +57,8 @@
>      }
>  
>      private void setSchemaOutMessage(Service service, Message message, DataWriter<?> writer) {
> -        if (Boolean.TRUE.equals(message.getContextualProperty(Message.SCHEMA_VALIDATION_ENABLED))) {
> +        Object en = message.getContextualProperty(Message.SCHEMA_VALIDATION_ENABLED);
> +        if (Boolean.TRUE.equals(en) || "true".equals(en)) {
>              Schema schema = EndpointReferenceUtils.getSchema(service.getServiceInfo());
>              writer.setSchema(schema);
>          }
>
> Modified: incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceImpl.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceImpl.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceImpl.java (original)
> +++ incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/ServiceImpl.java Mon Apr  9 16:05:51 2007
> @@ -39,7 +39,6 @@
>      private Executor executor;
>      private Invoker invoker;
>      private Map<QName, Endpoint> endpoints = new HashMap<QName, Endpoint>();
> -    private boolean enableSchemaValidationForAllPort;
>      
>      public ServiceImpl() {
>          this(null);
> @@ -93,11 +92,8 @@
>      public void setEndpoints(Map<QName, Endpoint> endpoints) {
>          this.endpoints = endpoints;
>      }
> -    public void setEnableSchemaValidationForAllPort(boolean value) {
> -        enableSchemaValidationForAllPort = value;
> -    }
> -    
> -    public boolean getEnableSchemaValidationForAllPort() {
> -        return enableSchemaValidationForAllPort;
> +
> +    public void setProperties(Map<String, Object> properties) {
> +        this.putAll(properties);
>      }
>  }
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java Mon Apr  9 16:05:51 2007
> @@ -22,37 +22,40 @@
>  import java.security.AccessController;
>  import java.util.List;
>  import java.util.Map;
> +import java.util.concurrent.CopyOnWriteArrayList;
>  import java.util.concurrent.Executor;
>  import java.util.logging.Logger;
>  
> +import javax.xml.namespace.QName;
>  import javax.xml.transform.Source;
>  import javax.xml.ws.Binding;
> -
> -//TODO JAX-WS 2.1
> -//import javax.xml.ws.EndpointReference;
>  import javax.xml.ws.WebServiceException;
>  import javax.xml.ws.WebServicePermission;
>  import javax.xml.ws.handler.Handler;
>  
>  import org.apache.cxf.Bus;
> +import org.apache.cxf.BusFactory;
>  import org.apache.cxf.common.injection.ResourceInjector;
>  import org.apache.cxf.common.logging.LogUtils;
> +import org.apache.cxf.configuration.Configurable;
>  import org.apache.cxf.configuration.Configurer;
>  import org.apache.cxf.endpoint.Server;
>  import org.apache.cxf.endpoint.ServerImpl;
> +import org.apache.cxf.interceptor.Interceptor;
> +import org.apache.cxf.interceptor.InterceptorProvider;
>  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.JaxWsImplementorInfo;
>  import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
> -import org.apache.cxf.message.Message;
>  import org.apache.cxf.resource.DefaultResourceManager;
>  import org.apache.cxf.resource.ResourceManager;
>  import org.apache.cxf.resource.ResourceResolver;
>  import org.apache.cxf.service.Service;
>  
> -public class EndpointImpl extends javax.xml.ws.Endpoint {
> -    /*
> +public class EndpointImpl extends javax.xml.ws.Endpoint 
> +    implements InterceptorProvider, Configurable {
> +    /**
>       * This property controls whether the 'publishEndpoint' permission is checked 
>       * using only the AccessController (i.e. when SecurityManager is not installed).
>       * By default this check is not done as the system property is not set.
> @@ -66,37 +69,63 @@
>          new WebServicePermission("publishEndpoint");
>      
>      protected boolean doInit;
> -
>      private Bus bus;
>      private Object implementor;
>      private Server server;
> +    private JaxWsServerFactoryBean serverFactory;
>      private Service service;
> -    private String bindingId;
> -    private JaxWsImplementorInfo implInfo;
> -    private JaxWsServiceFactoryBean serviceFactory;
>      private Map<String, Object> properties;
>      private List<Source> metadata;
>      
> +    private Executor executor;
> +    private String binding;
> +    private String wsdlLocation;
> +    private String address;
> +    private QName endpointName;
> +    private QName serviceName;
> +    
> +    private List<Interceptor> in = new CopyOnWriteArrayList<Interceptor>();
> +    private List<Interceptor> out = new CopyOnWriteArrayList<Interceptor>();
> +    private List<Interceptor> outFault  = new CopyOnWriteArrayList<Interceptor>();
> +    private List<Interceptor> inFault  = new CopyOnWriteArrayList<Interceptor>();
> +
> +    public EndpointImpl(Object implementor) {
> +        this(BusFactory.getDefaultBus(), implementor);
> +    }
> +    
> +    @Deprecated
>      public EndpointImpl(Bus b, Object implementor, JaxWsServiceFactoryBean serviceFactory) {
>          this(b, implementor, serviceFactory, null);
>      }
>      
> +    /**
> +     * If you're using this method you should switch to passing in a JaxWsServerFactoryBean
> +     * or using the new getters/setters on EndpointImpl before our next release.
> +     * @param b
> +     * @param implementor
> +     * @param serviceFactory
> +     * @param bindingUri
> +     */
> +    @Deprecated
>      public EndpointImpl(Bus b, Object implementor, 
>                          JaxWsServiceFactoryBean serviceFactory, String bindingUri) {
>          this.bus = b;
> -        this.serviceFactory = serviceFactory;
> -        this.implInfo = serviceFactory.getJaxWsImplementorInfo();
> -        this.service = serviceFactory.getService();
> +        this.binding = bindingUri;
> +        this.serverFactory = new JaxWsServerFactoryBean(serviceFactory);
>          this.implementor = implementor;
> -        this.bindingId = bindingUri;
> -        
> -        if (this.service == null) {
> -            service = serviceFactory.create();
> -        }
>          
>          doInit = true;
>      }
>     
> +    public EndpointImpl(Bus b, Object implementor, 
> +                        JaxWsServerFactoryBean sf) {
> +        this.bus = b;
> +        this.serverFactory = sf;
> +        this.implementor = implementor;
> +        
> +        doInit = true;
> +    }
> +    
>      /**
>       * 
>       * @param b
> @@ -108,28 +137,16 @@
>      public EndpointImpl(Bus b, Object i, String bindingUri, String wsdl) {
>          bus = b;
>          implementor = i;
> -        bindingId = bindingUri;
> -        // build up the Service model
> -        implInfo = new JaxWsImplementorInfo(implementor.getClass());
> -        serviceFactory = new JaxWsServiceFactoryBean(implInfo);
> -        serviceFactory.setBus(bus);
> -        if (null != wsdl) {
> -            serviceFactory.setWsdlURL(wsdl);
> -        }
> -        service = serviceFactory.create();
> -        
> -        configureObject(service);
> -        
> -        service.put(Message.SCHEMA_VALIDATION_ENABLED, service.getEnableSchemaValidationForAllPort());
> -        
> -        service.setInvoker(new JAXWSMethodInvoker(i));
> +        binding = bindingUri;
> +        wsdlLocation = wsdl;
> +        serverFactory = new JaxWsServerFactoryBean();
>          
>          doInit = true; 
>      }
>      
>      
> -    public EndpointImpl(Bus b, Object i, String uri) {
> -        this(b, i, uri, (String)null);
> +    public EndpointImpl(Bus b, Object i, String bindingUri) {
> +        this(b, i, bindingUri, (String)null);
>      }
>     
>      public EndpointImpl(Bus bus, Object implementor) {
> @@ -141,13 +158,18 @@
>      }
>  
>      public void setExecutor(Executor executor) {
> -        service.setExecutor(executor);
> +        this.executor = executor;
>      }
>  
>      public Executor getExecutor() {
> -        return service.getExecutor();
> +        return executor;
>      }
>  
> +    public Service getService() {
> +        return service;
> +    }
> +
> +    
>      @Override
>      public Object getImplementor() {
>          return implementor;
> @@ -174,8 +196,8 @@
>      }
>  
>      @Override
> -    public void publish(String address) {
> -        doPublish(address);
> +    public void publish(String addr) {
> +        doPublish(addr);
>      }
>  
>      public void setMetadata(List<Source> metadata) {
> @@ -222,33 +244,70 @@
>          }
>      }
>  
> -    protected void doPublish(String address) {
> +    
> +    public String getBeanName() {
> +        return endpointName.toString();
> +    }
> +
> +    protected void doPublish(String addr) {
>          checkPublishPermission();
>  
> -        JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean(serviceFactory);
> +        // Initialize the endpointName so we can do configureObject
> +        if (endpointName == null) {
> +            JaxWsImplementorInfo implInfo = new JaxWsImplementorInfo(implementor.getClass());
> +            endpointName = implInfo.getEndpointName();
> +        }
>          
> -        svrFactory.setBus(bus);
> -        svrFactory.setBindingId(bindingId);
> -        svrFactory.setAddress(address);
> -        svrFactory.setStart(false);
> -        svrFactory.setServiceBean(implementor);
> -        configureObject(svrFactory);
> +        configureObject(this);
> +        
> +        // Set up the server factory
> +        serverFactory.setAddress(addr);
> +        serverFactory.setStart(false);
> +        serverFactory.setEndpointName(endpointName);
> +        serverFactory.setServiceBean(implementor);
> +        serverFactory.setBus(bus);
> +        
> +        // Be careful not to override any serverfactory settings as a user might
> +        // have supplied their own.
> +        if (getWsdlLocation() != null) {
> +            serverFactory.setWsdlURL(getWsdlLocation());
> +        }
> +        
> +        if (binding != null) {
> +            serverFactory.setBindingId(binding);
> +        }
> +        
> +        if (serviceName != null) {
> +            serverFactory.getServiceFactory().setServiceName(serviceName);
> +        }
> +        
> +        configureObject(serverFactory);
> +        
> +        server = serverFactory.create();
>          
> -        server = svrFactory.create();
> -
>          init();
>          
>          org.apache.cxf.endpoint.Endpoint endpoint = getEndpoint();
> +        if (getInInterceptors() != null) {
> +            endpoint.getInInterceptors().addAll(getInInterceptors());
> +        }
> +        if (getOutInterceptors() != null) {
> +            endpoint.getOutInterceptors().addAll(getOutInterceptors());
> +        }
> +        if (getInFaultInterceptors() != null) {
> +            endpoint.getInFaultInterceptors().addAll(getInFaultInterceptors());
> +        }
> +        if (getOutFaultInterceptors() != null) {
> +            endpoint.getOutFaultInterceptors().addAll(getOutFaultInterceptors());
> +        }
>          
>          if (properties != null) {
>              endpoint.putAll(properties);
>          }
>          
> +        configureObject(endpoint.getService());
>          configureObject(endpoint);
>          
> -        if (endpoint.getEnableSchemaValidation()) {
> -            endpoint.put(Message.SCHEMA_VALIDATION_ENABLED, endpoint.getEnableSchemaValidation());
> -        }
>          server.start();
>      }
>      
> @@ -304,6 +363,78 @@
>          }
>      }
>  
> +    public void publish() {
> +        publish(getAddress());
> +    }
> +    
> +    public String getAddress() {
> +        return address;
> +    }
> +
> +    public void setAddress(String address) {
> +        this.address = address;
> +    }
> +
> +    public QName getEndpointName() {
> +        return endpointName;
> +    }
> +
> +    public void setEndpointName(QName endpointName) {
> +        this.endpointName = endpointName;
> +    }
> +
> +    public QName getServiceName() {
> +        return serviceName;
> +    }
> +
> +    public void setServiceName(QName serviceName) {
> +        this.serviceName = serviceName;
> +    }
> +
> +    public String getWsdlLocation() {
> +        return wsdlLocation;
> +    }
> +
> +    public void setWsdlLocation(String wsdlLocation) {
> +        this.wsdlLocation = wsdlLocation;
> +    }
> +
> +    public void setBinding(String binding) {
> +        this.binding = binding;
> +    }
> +
> +    public List<Interceptor> getOutFaultInterceptors() {
> +        return outFault;
> +    }
> +
> +    public List<Interceptor> getInFaultInterceptors() {
> +        return inFault;
> +    }
> +
> +    public List<Interceptor> getInInterceptors() {
> +        return in;
> +    }
> +
> +    public List<Interceptor> getOutInterceptors() {
> +        return out;
> +    }
> +
> +    public void setInInterceptors(List<Interceptor> interceptors) {
> +        in = interceptors;
> +    }
> +
> +    public void setInFaultInterceptors(List<Interceptor> interceptors) {
> +        inFault = interceptors;
> +    }
> +
> +    public void setOutInterceptors(List<Interceptor> interceptors) {
> +        out = interceptors;
> +    }
> +
> +    public void setOutFaultInterceptors(List<Interceptor> interceptors) {
> +        outFault = interceptors;
> +    }
> +    
>      /*
>      //TODO JAX-WS 2.1
>      public EndpointReference getEndpointReference(Element... referenceParameters) {
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java Mon Apr  9 16:05:51 2007
> @@ -26,7 +26,7 @@
>  import org.apache.cxf.binding.soap.SoapBindingFactory;
>  import org.apache.cxf.binding.soap.model.SoapBindingInfo;
>  import org.apache.cxf.frontend.ServerFactoryBean;
> -import org.apache.cxf.jaxws.binding.soap.JaxWsSoapBindingInfoConfigBean;
> +import org.apache.cxf.jaxws.binding.soap.JaxWsSoapBindingConfiguration;
>  import org.apache.cxf.jaxws.support.JaxWsImplementorInfo;
>  import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
>  import org.apache.cxf.service.invoker.Invoker;
> @@ -48,8 +48,8 @@
>      }
>      public JaxWsServerFactoryBean(JaxWsServiceFactoryBean serviceFactory) {
>          setServiceFactory(serviceFactory);
> -        JaxWsSoapBindingInfoConfigBean defConfig 
> -            = new JaxWsSoapBindingInfoConfigBean(serviceFactory);
> +        JaxWsSoapBindingConfiguration defConfig 
> +            = new JaxWsSoapBindingConfiguration(serviceFactory);
>          setBindingConfig(defConfig);
>      }
>  
> @@ -75,7 +75,7 @@
>                  binding = "http://schemas.xmlsoap.org/soap/";
>                  
>                  if (getBindingConfig() == null) {
> -                    setBindingConfig(new JaxWsSoapBindingInfoConfigBean(sf));
> +                    setBindingConfig(new JaxWsSoapBindingConfiguration(sf));
>                  }
>              }
>              
> @@ -83,15 +83,15 @@
>          }
>          boolean messageMode = implInfo.getServiceMode().equals(javax.xml.ws.Service.Mode.MESSAGE);
>          
> -        if (getBindingConfig() instanceof JaxWsSoapBindingInfoConfigBean) {
> -            JaxWsSoapBindingInfoConfigBean conf = (JaxWsSoapBindingInfoConfigBean)getBindingConfig();
> +        if (getBindingConfig() instanceof JaxWsSoapBindingConfiguration) {
> +            JaxWsSoapBindingConfiguration conf = (JaxWsSoapBindingConfiguration)getBindingConfig();
>              
>              if (jaxBid.equals(binding.equals(SOAPBinding.SOAP12HTTP_BINDING))) {
> -                conf.setSoapVersion(Soap12.getInstance());
> +                conf.setVersion(Soap12.getInstance());
>              }
>              
>              if (jaxBid.equals(binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING))) {
> -                conf.setSoapVersion(Soap12.getInstance());
> +                conf.setVersion(Soap12.getInstance());
>                  conf.setMtomEnabled(true);
>              }
>              
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java Mon Apr  9 16:05:51 2007
> @@ -50,14 +50,13 @@
>  import org.apache.cxf.endpoint.Endpoint;
>  import org.apache.cxf.endpoint.EndpointException;
>  import org.apache.cxf.jaxb.JAXBDataBinding;
> -import org.apache.cxf.jaxws.binding.soap.JaxWsSoapBindingInfoConfigBean;
> +import org.apache.cxf.jaxws.binding.soap.JaxWsSoapBindingConfiguration;
>  import org.apache.cxf.jaxws.handler.HandlerResolverImpl;
>  import org.apache.cxf.jaxws.handler.PortInfoImpl;
>  import org.apache.cxf.jaxws.support.DummyImpl;
>  import org.apache.cxf.jaxws.support.JaxWsClientEndpointImpl;
>  import org.apache.cxf.jaxws.support.JaxWsEndpointImpl;
>  import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
> -import org.apache.cxf.message.Message;
>  import org.apache.cxf.service.Service;
>  import org.apache.cxf.service.factory.AbstractServiceFactoryBean;
>  import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
> @@ -249,7 +248,6 @@
>          
>          // Configure the Service
>          Service service = serviceFactory.getService();
> -        service.put(Message.SCHEMA_VALIDATION_ENABLED, service.getEnableSchemaValidationForAllPort());
>          service.setExecutor(new Executor() {
>              public void execute(Runnable command) {
>                  Executor ex = getExecutor();
> @@ -267,10 +265,7 @@
>          configureObject(jaxwsEndpoint);  
>          
>          QName pn = portName;
> -        if (jaxwsEndpoint.getEnableSchemaValidation()) {
> -            jaxwsEndpoint.put(Message.SCHEMA_VALIDATION_ENABLED, jaxwsEndpoint.getEnableSchemaValidation());
> -        }
> -
> +        
>          List<Handler> hc = jaxwsEndpoint.getJaxwsBinding().getHandlerChain();
>          hc.addAll(handlerResolver.getHandlerChain(portInfos.get(pn)));
>  
> @@ -295,7 +290,7 @@
>          
>          Object config = null;
>          if (serviceFactory instanceof JaxWsServiceFactoryBean) {
> -            config = new JaxWsSoapBindingInfoConfigBean((JaxWsServiceFactoryBean)serviceFactory);
> +            config = new JaxWsSoapBindingConfiguration((JaxWsServiceFactoryBean)serviceFactory);
>          }
>          BindingInfo bindingInfo = bus.getExtension(BindingFactoryManager.class).getBindingFactory(bindingID)
>                  .createBindingInfo(serviceFactory.getService(), bindingID, config);
>
> Copied: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingConfiguration.java (from r526927, incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingInfoConfigBean.java)
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingConfiguration.java?view=diff&rev=526945&p1=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingInfoConfigBean.java&r1=526927&p2=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingConfiguration.java&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingInfoConfigBean.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/binding/soap/JaxWsSoapBindingConfiguration.java Mon Apr  9 16:05:51 2007
> @@ -18,26 +18,21 @@
>   */
>  package org.apache.cxf.jaxws.binding.soap;
>  
> -import java.lang.reflect.Method;
> -
>  import javax.jws.soap.SOAPBinding;
>  import javax.jws.soap.SOAPBinding.Style;
>  import javax.jws.soap.SOAPBinding.Use;
>  
> -import org.apache.cxf.binding.soap.SoapBindingInfoConfigBean;
> -import org.apache.cxf.frontend.MethodDispatcher;
> +import org.apache.cxf.binding.soap.SoapBindingConfiguration;
>  import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
> -import org.apache.cxf.service.model.BindingOperationInfo;
> -import org.apache.cxf.service.model.MessagePartInfo;
>  
>  /**
>   * Introspects the SOAPBinding annotation to provide to construct
>   * a {@link org.apache.cxf.service.model.BindingInfo}.
>   */
> -public class JaxWsSoapBindingInfoConfigBean extends SoapBindingInfoConfigBean {
> +public class JaxWsSoapBindingConfiguration extends SoapBindingConfiguration {
>      JaxWsServiceFactoryBean serviceFactory;
>      
> -    public JaxWsSoapBindingInfoConfigBean(JaxWsServiceFactoryBean sifb) {
> +    public JaxWsSoapBindingConfiguration(JaxWsServiceFactoryBean sifb) {
>          serviceFactory = sifb;
>      }
>      
> @@ -79,15 +74,4 @@
>          }
>          return super.getStyle();
>      }
> -
> -    @Override
> -    protected boolean isHeader(BindingOperationInfo op, MessagePartInfo part) {
> -        MethodDispatcher md = (MethodDispatcher)serviceFactory.getService()
> -                .get(MethodDispatcher.class.getName());
> -        Method method = md.getMethod(op);
> -        
> -        return getJaxWsServiceFactory().isHeader(method, part.getIndex());
> -    }
> -    
> -    
>  }
>
> Copied: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java (from r526469, incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointFactoryBeanDefinitionParser.java)
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java?view=diff&rev=526945&p1=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointFactoryBeanDefinitionParser.java&r1=526469&p2=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointFactoryBeanDefinitionParser.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/EndpointDefinitionParser.java Mon Apr  9 16:05:51 2007
> @@ -31,25 +31,28 @@
>  
>  import org.apache.cxf.common.classloader.ClassLoaderUtils;
>  import org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser;
> +import org.apache.cxf.jaxws.EndpointImpl;
>  import org.springframework.beans.FatalBeanException;
>  import org.springframework.beans.factory.support.BeanDefinitionBuilder;
>  import org.springframework.beans.factory.xml.ParserContext;
>  import org.springframework.util.StringUtils;
>  
> -public class EndpointFactoryBeanDefinitionParser extends AbstractBeanDefinitionParser {
> +
> +public class EndpointDefinitionParser extends AbstractBeanDefinitionParser {
>  
>      private static final String IMPLEMENTOR = "implementor";
>  
>      @Override
>      protected void doParse(Element element, ParserContext ctx, BeanDefinitionBuilder bean) {
> +
>          NamedNodeMap atts = element.getAttributes();
>          for (int i = 0; i < atts.getLength(); i++) {
>              Attr node = (Attr) atts.item(i);
>              String val = node.getValue();
>              String pre = node.getPrefix();
>              String name = node.getLocalName();
> -            
> -            if (isAttribute(pre, name)) {
> +
> +            if (isAttribute(pre, name) && !"publish".equals(name)) {
>                  if ("endpointName".equals(name) || "serviceName".equals(name)) {
>                      QName q = parseQName(element, val);
>                      bean.addPropertyValue(name, q);
> @@ -58,6 +61,8 @@
>                  } else {
>                      mapToProperty(bean, name, val);
>                  }
> +            } else if ("abstract".equals(name)) {
> +                bean.setAbstract(true);
>              }
>          }
>          
> @@ -73,29 +78,29 @@
>                      || "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)) {
>                      List list = ctx.getDelegate().parseListElement((Element) n, bean.getBeanDefinition());
>                      bean.addPropertyValue(n.getLocalName(), list);
> +                } else if (IMPLEMENTOR.equals(name)) {
> +                    ctx.getDelegate()
> +                        .parseConstructorArgElement(getFirstChild(element), bean.getBeanDefinition());
>                  } else {
>                      setFirstChildAsProperty((Element) n, ctx, bean, n.getLocalName());
>                  }
>              }
>          }
> +
> +        bean.setInitMethodName("publish");
>          
> -        // We don't really want to delay the registration of our Server
> +        // We don't want to delay the registration of our Server
>          bean.setLazyInit(false);
> -        
> -//        PropertyValue idValue = bean.getBeanDefinition().getPropertyValues().getPropertyValue("id");
> -//        if (idValue == null) {
> -//            bean.addPropertyReference("id", arg1);
> -//        }
>      }
>  
>      private void loadImplementor(BeanDefinitionBuilder bean, String val) {
>          if (StringUtils.hasText(val)) {
>              if (val.startsWith("#")) {
> -                bean.addPropertyReference(IMPLEMENTOR, val.substring(1));
> +                bean.addConstructorArgReference(val.substring(1));
>              } else {
>                  try {
> -                    bean.addPropertyValue(IMPLEMENTOR,
> -                                          ClassLoaderUtils.loadClass(val, getClass()).newInstance());
> +                    Object obj = ClassLoaderUtils.loadClass(val, getClass()).newInstance();
> +                    bean.addConstructorArg(obj);
>                  } catch (Exception e) {
>                      throw new FatalBeanException("Could not load class: " + val, e);
>                  }
> @@ -105,7 +110,7 @@
>  
>      @Override
>      protected Class getBeanClass(Element arg0) {
> -        return EndpointFactoryBean.class;
> +        return EndpointImpl.class;
>      }
>  
>  }
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/NamespaceHandler.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/NamespaceHandler.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/NamespaceHandler.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spring/NamespaceHandler.java Mon Apr  9 16:05:51 2007
> @@ -23,7 +23,7 @@
>  public class NamespaceHandler extends NamespaceHandlerSupport {
>      public void init() {
>          registerBeanDefinitionParser("client", new JaxWsProxyFactoryBeanDefinitionParser());        
> -        registerBeanDefinitionParser("endpoint", new EndpointFactoryBeanDefinitionParser());        
> +        registerBeanDefinitionParser("endpoint", new EndpointDefinitionParser());        
>          registerBeanDefinitionParser("server", new ServerBeanDefinitionParser());        
>      }
>  }
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceConfiguration.java Mon Apr  9 16:05:51 2007
> @@ -161,7 +161,7 @@
>              return null;
>          }
>          
> -        return getPartName(op, method, paramNumber, "arg");
> +        return getPartName(op, method, paramNumber, op.getInput().size(), "arg");
>      }
>  
>      @Override
> @@ -170,10 +170,10 @@
>              return null;
>          }
>          
> -        return getParameterName(op, method, paramNumber, "arg");
> +        return getParameterName(op, method, paramNumber, op.getInput().size(), "arg");
>      }
>  
> -    private QName getPartName(OperationInfo op, Method method, int paramNumber, String prefix) {
> +    private QName getPartName(OperationInfo op, Method method, int paramNumber, int curSize, String prefix) {
>          WebParam param = getWebParam(method, paramNumber);
>          String tns = op.getName().getNamespaceURI();
>          if (param != null) {
> @@ -185,34 +185,38 @@
>                  local = param.name();
>              }
>              if (local.length() == 0) {
> -                getDefaultLocalName(op, method, paramNumber, prefix);
> +                getDefaultLocalName(op, method, paramNumber, curSize, prefix);
>              }
>              return new QName(tns, local);
>          } else {
> -            return new QName(tns, getDefaultLocalName(op, method, paramNumber, prefix));
> +            return new QName(tns, getDefaultLocalName(op, method, paramNumber, curSize, prefix));
>          }        
>      }
>  
> -    private QName getParameterName(OperationInfo op, Method method, int paramNumber, String prefix) {
> +    private QName getParameterName(OperationInfo op, Method method, int paramNumber, 
> +                                   int curSize, String prefix) {
> +        method = getDeclaredMethod(method);
>          WebParam param = getWebParam(method, paramNumber);
> +        String tns = null;
> +        String local = null;
>          if (param != null) {
> -            String tns = param.targetNamespace();
> -            String local = param.name();
> -
> -            if (tns.length() == 0) {
> -                tns = op.getName().getNamespaceURI();
> -            }
> -
> -            if (local.length() == 0) {
> -                local = getDefaultLocalName(op, method, paramNumber, prefix);
> -            }
> +            tns = param.targetNamespace();
> +            local = param.name();
> +        }
> +        
> +        if (tns == null || tns.length() == 0) {
> +            tns = op.getName().getNamespaceURI();
> +        }
>  
> -            return new QName(tns, local);
> +        if (local == null || local.length() == 0) {
> +            local = getDefaultLocalName(op, method, paramNumber, curSize, prefix);
>          }
> -        return null;
> +        
> +        return new QName(tns, local);
>      }
>  
> -    private String getDefaultLocalName(OperationInfo op, Method method, int paramNumber, String prefix) {
> +    private String getDefaultLocalName(OperationInfo op, Method method, int paramNumber, 
> +                                       int curSize, String prefix) {
>          Class<?> impl = implInfo.getImplementorClass(); 
>          // try to grab the implementation class so we can read the debug symbols from it
>          if (impl == null) {
> @@ -223,7 +227,7 @@
>              }
>          }
>          
> -        return DefaultServiceConfiguration.createName(method, paramNumber, paramNumber, false, prefix);
> +        return DefaultServiceConfiguration.createName(method, paramNumber, curSize, false, prefix);
>      }
>  
>      private WebParam getWebParam(Method method, int parameter) {
> @@ -248,33 +252,38 @@
>  
>      @Override
>      public QName getOutParameterName(OperationInfo op, Method method, int paramNumber) {
> +        method = getDeclaredMethod(method);
> +        
>          if (paramNumber >= 0) {
> -            return getParameterName(op, method, paramNumber, "return");
> +            return getParameterName(op, method, paramNumber, op.getOutput().size(), "return");
>          } else {
>              WebResult webResult = getWebResult(method);
>  
> +            String tns = null;
> +            String local = null;
>              if (webResult != null) {
> -                String tns = webResult.targetNamespace();
> -                String local = webResult.name();
> -
> -                if (tns.length() == 0) {
> -                    tns = op.getName().getNamespaceURI();
> -                }
> +                tns = webResult.targetNamespace();
> +                local = webResult.name();
> +            }
>  
> -                if (local.length() == 0) {
> -                    local = getDefaultLocalName(op, method, paramNumber, "return");
> -                }
> +            if (tns == null || tns.length() == 0) {
> +                tns = op.getName().getNamespaceURI();
> +            }
>  
> -                return new QName(tns, local);
> +            if (local == null || local.length() == 0) {
> +                local = getDefaultLocalName(op, method, paramNumber, op.getOutput().size(), "return");
>              }
> +            
> +            return new QName(tns, local);
>          }
> -        return super.getOutParameterName(op, method, paramNumber);
>      }
>  
>      @Override
>      public QName getOutPartName(OperationInfo op, Method method, int paramNumber) {
> +        method = getDeclaredMethod(method);
> +        
>          if (paramNumber >= 0) {
> -            return getPartName(op, method, paramNumber, "return");
> +            return getPartName(op, method, paramNumber, op.getOutput().size(), "return");
>          } else {
>              WebResult webResult = getWebResult(method);
>              String tns = op.getName().getNamespaceURI();
> @@ -287,7 +296,7 @@
>                      local = webResult.name();
>                  }
>                  if (local.length() == 0) {
> -                    local = getDefaultLocalName(op, method, paramNumber, "return");
> +                    local = getDefaultLocalName(op, method, paramNumber, op.getOutput().size(), "return");
>                  }
>                  return new QName(tns, local);
>              } else {
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java Mon Apr  9 16:05:51 2007
> @@ -51,6 +51,7 @@
>  import org.apache.cxf.service.factory.AbstractServiceConfiguration;
>  import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
>  import org.apache.cxf.service.factory.ServiceConstructionException;
> +import org.apache.cxf.service.invoker.Invoker;
>  import org.apache.cxf.service.model.BindingInfo;
>  import org.apache.cxf.service.model.EndpointInfo;
>  import org.apache.cxf.service.model.FaultInfo;
> @@ -85,6 +86,11 @@
>          this.serviceClass = implInfo.getEndpointClass();
>      }
>  
> +    @Override
> +    protected Invoker createInvoker() {
> +        return null;
> +    }
> +    
>      protected SimpleMethodDispatcher getMethodDispatcher() {
>          return methodDispatcher;
>      }
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/main/resources/org/apache/cxf/jaxws/spring/jaxws.xsd
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/resources/org/apache/cxf/jaxws/spring/jaxws.xsd?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/main/resources/org/apache/cxf/jaxws/spring/jaxws.xsd (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/main/resources/org/apache/cxf/jaxws/spring/jaxws.xsd Mon Apr  9 16:05:51 2007
> @@ -15,6 +15,7 @@
>        <xsd:complexContent>
>          <xsd:extension base="beans:identifiedType">
>            <xsd:sequence>
> +            <xsd:element name="binding" type="xsd:anyType" minOccurs="0"/>
>              <xsd:element name="executor" type="xsd:anyType" minOccurs="0"/>
>              <xsd:element name="implementor" type="xsd:anyType" minOccurs="0"/>
>              <xsd:element name="inInterceptors" type="xsd:anyType" minOccurs="0"/>
> @@ -25,7 +26,7 @@
>              <xsd:element name="serviceFactory" type="xsd:anyType" minOccurs="0"/>
>            </xsd:sequence>
>            <xsd:attribute name="address" type="xsd:string" />
> -          <xsd:attribute name="binding" type="xsd:string" />
> +          <xsd:attribute name="bindingUri" type="xsd:string" />
>            <xsd:attribute name="bus" type="xsd:string" />
>            <xsd:attribute name="implementor" type="xsd:string"/>
>            <xsd:attribute name="publish" type="xsd:boolean" default="true"/>
> @@ -71,6 +72,7 @@
>        <xsd:complexContent>
>          <xsd:extension base="beans:identifiedType">
>            <xsd:sequence>
> +            <xsd:element name="binding" 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"/>
> @@ -78,7 +80,7 @@
>              <xsd:element name="properties" type="beans:mapType" minOccurs="0"/>
>            </xsd:sequence>
>            <xsd:attribute name="address" type="xsd:string" />
> -          <xsd:attribute name="binding" type="xsd:string" />
> +          <xsd:attribute name="bindingUri" type="xsd:string" />
>            <xsd:attribute name="bus" type="xsd:string" />
>            <xsd:attribute name="endpointName" type="xsd:QName" />
>            <xsd:attribute name="password" type="xsd:string" />
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/ConfiguredEndpointTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/ConfiguredEndpointTest.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/ConfiguredEndpointTest.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/ConfiguredEndpointTest.java Mon Apr  9 16:05:51 2007
> @@ -94,8 +94,9 @@
>          JaxWsClientProxy eih = (JaxWsClientProxy)Proxy.getInvocationHandler(greeter);
>          Client client = eih.getClient();
>          JaxWsEndpointImpl endpoint = (JaxWsEndpointImpl)client.getEndpoint();
> -        assertEquals("Unexpected bean name", PORT_NAME.toString(), endpoint.getBeanName());
> -        assertTrue("Unexpected value for property validating", !endpoint.getEnableSchemaValidation());
> +        assertEquals("Unexpected bean name", PORT_NAME.toString() + ".endpoint", endpoint.getBeanName());
> +        assertTrue("Unexpected value for property validating", 
> +                   !Boolean.TRUE.equals(endpoint.get(Message.SCHEMA_VALIDATION_ENABLED)));
>     
>          // System.out.println("endpoint interceptors");
>          List<Interceptor> interceptors = endpoint.getInInterceptors();
> @@ -160,28 +161,29 @@
>          JaxWsClientProxy eih = (JaxWsClientProxy)Proxy.getInvocationHandler(greeter);
>          Client client = eih.getClient();
>          JaxWsEndpointImpl endpoint = (JaxWsEndpointImpl)client.getEndpoint();
> -        assertEquals("Unexpected bean name", PORT_NAME.toString(), endpoint.getBeanName());
> -        // assertTrue("Unexpected value for property validating", endpoint.getValidating());
> -        List<Interceptor> interceptors = endpoint.getInInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> -        assertEquals("Unexpected interceptor id.", "endpoint-in", 
> -                     findTestInterceptor(interceptors).getId());
> -        interceptors = endpoint.getOutInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> -        assertEquals("Unexpected interceptor id.", "endpoint-out", 
> -                     findTestInterceptor(interceptors).getId());
> -        interceptors = endpoint.getInFaultInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> -        assertEquals("Unexpected interceptor id.", "endpoint-in-fault", 
> -                     findTestInterceptor(interceptors).getId());
> -        interceptors = endpoint.getOutFaultInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> -        assertEquals("Unexpected interceptor id.", "endpoint-out-fault", 
> -                     findTestInterceptor(interceptors).getId());
> +//      The service shouldn't pick up the <jaxws:endpoint>...
> +//        assertEquals("Unexpected bean name", PORT_NAME.toString() + ".endpoint", endpoint.getBeanName());
> +//        // assertTrue("Unexpected value for property validating", endpoint.getValidating());
> +//        List<Interceptor> interceptors = endpoint.getInInterceptors();
> +//        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +//        assertEquals("Unexpected interceptor id.", "endpoint-in", 
> +//                     findTestInterceptor(interceptors).getId());
> +//        interceptors = endpoint.getOutInterceptors();
> +//        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +//        assertEquals("Unexpected interceptor id.", "endpoint-out", 
> +//                     findTestInterceptor(interceptors).getId());
> +//        interceptors = endpoint.getInFaultInterceptors();
> +//        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +//        assertEquals("Unexpected interceptor id.", "endpoint-in-fault", 
> +//                     findTestInterceptor(interceptors).getId());
> +//        interceptors = endpoint.getOutFaultInterceptors();
> +//        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +//        assertEquals("Unexpected interceptor id.", "endpoint-out-fault", 
> +//                     findTestInterceptor(interceptors).getId());
>          
>          org.apache.cxf.service.ServiceImpl svc = (org.apache.cxf.service.ServiceImpl)endpoint.getService();
>          assertEquals("Unexpected bean name.", SERVICE_NAME.toString(), svc.getBeanName());
> -        interceptors = svc.getInInterceptors();
> +        List<Interceptor> interceptors = svc.getInInterceptors();
>          assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
>          assertEquals("Unexpected interceptor id.", "service-in", 
>                       findTestInterceptor(interceptors).getId());
> @@ -226,8 +228,9 @@
>          ei.publish("http://localhost/greeter");
>          
>          JaxWsEndpointImpl endpoint = (JaxWsEndpointImpl)ei.getEndpoint();
> -        assertEquals("Unexpected bean name", PORT_NAME.toString(), endpoint.getBeanName());
> -        assertTrue("Unexpected value for property validating", !endpoint.getEnableSchemaValidation());
> +        assertEquals("Unexpected bean name", PORT_NAME.toString() + ".endpoint", endpoint.getBeanName());
> +        assertTrue("Unexpected value for property validating", 
> +                   !Boolean.TRUE.equals(endpoint.get(Message.SCHEMA_VALIDATION_ENABLED)));
>     
>          List<Interceptor> interceptors = endpoint.getInInterceptors();
>          assertNull("Unexpected test interceptor", findTestInterceptor(interceptors));
> @@ -283,22 +286,23 @@
>          ei.publish("http://localhost/greeter");
>          
>          JaxWsEndpointImpl endpoint = (JaxWsEndpointImpl)ei.getEndpoint();
> -        assertEquals("Unexpected bean name", PORT_NAME.toString(), endpoint.getBeanName());
> -        assertTrue("Unexpected value for property validating", endpoint.getEnableSchemaValidation());
> +        assertEquals("Unexpected bean name", PORT_NAME.toString() + ".endpoint", endpoint.getBeanName());
> +        assertTrue("Unexpected value for property validating", 
> +                   Boolean.valueOf((String) ei.getProperties().get(Message.SCHEMA_VALIDATION_ENABLED)));
>          List<Interceptor> interceptors = endpoint.getInInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +        assertEquals("Unexpected number of interceptors.", 5, interceptors.size());
>          assertEquals("Unexpected interceptor id.", "endpoint-in", 
>                       findTestInterceptor(interceptors).getId());
>          interceptors = endpoint.getOutInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +        assertEquals("Unexpected number of interceptors.", 6, interceptors.size());
>          assertEquals("Unexpected interceptor id.", "endpoint-out", 
>                       findTestInterceptor(interceptors).getId());
>          interceptors = endpoint.getInFaultInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +        assertEquals("Unexpected number of interceptors.", 2, interceptors.size());
>          assertEquals("Unexpected interceptor id.", "endpoint-in-fault", 
>                       findTestInterceptor(interceptors).getId());
>          interceptors = endpoint.getOutFaultInterceptors();
> -        assertEquals("Unexpected number of interceptors.", 1, interceptors.size());
> +        assertEquals("Unexpected number of interceptors.", 4, interceptors.size());
>          assertEquals("Unexpected interceptor id.", "endpoint-out-fault", 
>                       findTestInterceptor(interceptors).getId());
>          
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/EndpointImplTest.java Mon Apr  9 16:05:51 2007
> @@ -127,7 +127,7 @@
>              assertEquals(expeced, e.getMessage());
>          }
>      }
> -
> +    
>      @Test
>      public void testPublishEndpointPermission() throws Exception {
>          Hello service = new Hello();
>
> Modified: incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/HeaderTest.java
> URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/HeaderTest.java?view=diff&rev=526945&r1=526944&r2=526945
> ==============================================================================
> --- incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/HeaderTest.java (original)
> +++ incubator/cxf/trunk/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/HeaderTest.java Mon Apr  9 16:05:51 2007
> @@ -26,7 +26,7 @@
>  
>  import org.apache.cxf.Bus;
>  import org.apache.cxf.frontend.ServerFactoryBean;
> -import org.apache.cxf.jaxws.binding.soap.JaxWsSoapBindingInfoConfigBean;
> +import org.apache.cxf.jaxws.binding.soap.JaxWsSoapBindingConfiguration;
>  import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
>  import org.apache.cxf.service.Service;
>  import org.apache.cxf.service.model.MessagePartInfo;
> @@ -76,8 +76,10 @@
>          ServerFactoryBean svr = new ServerFactoryBean();
>          svr.setBus(bus);
>          svr.setServiceFactory(bean);
> +        svr.setServiceBean(new TestHeaderImpl());
>          svr.setAddress("http://localhost:9104/SoapHeaderContext/SoapHeaderPort");
> -        svr.setBindingConfig(new JaxWsSoapBindingInfoConfigBean(bean));
> +        svr.setBindingConfig(new JaxWsSoapBindingConfiguration(bean));
> +
>          
>          svr.create();
>          
>
>
>
>   


Mime
View raw message