cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dand...@apache.org
Subject 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 Mon, 09 Apr 2007 23:05:55 GMT
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