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();
}