Author: dkulp
Date: Thu Jun 12 13:14:41 2008
New Revision: 667218

URL: http://svn.apache.org/viewvc?rev=667218&view=rev
Log:
[CXF-1623] Fix issues of handler chains not matching on the correct protocol

Modified:
    
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java
    
cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/AbstractXmlBeansTest.java
    
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
    
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/AnnotationHandlerChainBuilder.java
    
cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java

Modified: 
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java?rev=667218&r1=667217&r2=667218&view=diff
==============================================================================
--- 
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java
 (original)
+++ 
cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java
 Thu Jun 12 13:14:41 2008
@@ -67,6 +67,7 @@
         super.setUpBus();
         
         SoapBindingFactory bindingFactory = new SoapBindingFactory();
+        bindingFactory.setBus(bus);
 
         bus.getExtension(BindingFactoryManager.class)
             .registerBindingFactory("http://schemas.xmlsoap.org/wsdl/soap/";, 
bindingFactory);

Modified: 
cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/AbstractXmlBeansTest.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/AbstractXmlBeansTest.java?rev=667218&r1=667217&r2=667218&view=diff
==============================================================================
--- 
cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/AbstractXmlBeansTest.java
 (original)
+++ 
cxf/trunk/rt/databinding/xmlbeans/src/test/java/org/apache/cxf/xmlbeans/AbstractXmlBeansTest.java
 Thu Jun 12 13:14:41 2008
@@ -65,6 +65,7 @@
         super.setUpBus();
         
         SoapBindingFactory bindingFactory = new SoapBindingFactory();
+        bindingFactory.setBus(bus);
 
         bus.getExtension(BindingFactoryManager.class)
             .registerBindingFactory("http://schemas.xmlsoap.org/wsdl/soap/";, 
bindingFactory);

Modified: 
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java?rev=667218&r1=667217&r2=667218&view=diff
==============================================================================
--- 
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
 (original)
+++ 
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
 Thu Jun 12 13:14:41 2008
@@ -119,10 +119,14 @@
         }
         
         if (binding.equals(SOAPBinding.SOAP11HTTP_BINDING) 
-            || binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING)
-            //|| binding.equals(SOAPBinding.SOAP12HTTP_BINDING) 
-            || binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING)) {
-            binding = "http://schemas.xmlsoap.org/soap/";;
+            || binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING)) {
+            binding = "http://schemas.xmlsoap.org/wsdl/soap/";;
+            setBindingId(binding);
+            if (getBindingConfig() == null) {
+                setBindingConfig(new JaxWsSoapBindingConfiguration(sf));
+            }            
+        } else if (binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING)) {
+            binding = SOAPBinding.SOAP12HTTP_BINDING;
             setBindingId(binding);
             if (getBindingConfig() == null) {
                 setBindingConfig(new JaxWsSoapBindingConfiguration(sf));

Modified: 
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/AnnotationHandlerChainBuilder.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/AnnotationHandlerChainBuilder.java?rev=667218&r1=667217&r2=667218&view=diff
==============================================================================
--- 
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/AnnotationHandlerChainBuilder.java
 (original)
+++ 
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/handler/AnnotationHandlerChainBuilder.java
 Thu Jun 12 13:14:41 2008
@@ -173,13 +173,17 @@
         }
         String name = el.getTextContent().trim();
         if ("##SOAP11_HTTP".equals(name)) {
-            name = "http://schemas.xmlsoap.org/wsdl/soap/http";;
+            return "http://schemas.xmlsoap.org/wsdl/soap/http".contains(id)
+                || "http://schemas.xmlsoap.org/soap/".contains(id);
         } else if ("##SOAP11_HTTP_MTOM".equals(name)) {
-            name = "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true";;
+            return 
"http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true".contains(id)
+                || "http://schemas.xmlsoap.org/soap/?mtom=true".contains(id);
         } else if ("##SOAP12_HTTP".equals(name)) {
-            name = "http://www.w3.org/2003/05/soap/bindings/HTTP/";;
+            return "http://www.w3.org/2003/05/soap/bindings/HTTP/".contains(id)
+                || "http://schemas.xmlsoap.org/wsdl/soap12/".contains(id);
         } else if ("##SOAP12_HTTP_MTOM".equals(name)) {
-            name = "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true";;
+            return 
"http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true".contains(id)
+                || 
"http://schemas.xmlsoap.org/wsdl/soap12/?mtom=true".contains(id);
         } else if ("##XML_HTTP".equals(name)) {
             name = "http://www.w3.org/2004/08/wsdl/http";;
         }

Modified: 
cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java?rev=667218&r1=667217&r2=667218&view=diff
==============================================================================
--- 
cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
 (original)
+++ 
cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/frontend/AbstractWSDLBasedEndpointFactory.java
 Thu Jun 12 13:14:41 2008
@@ -288,7 +288,7 @@
         }
         
         try {
-            if ("http://schemas.xmlsoap.org/soap/".equals(binding)) {
+            if (binding.contains("/soap")) {
                 if (bindingConfig == null) {
                     bindingConfig = new SoapBindingConfiguration();
                 }


Reply via email to