We use CXF in Apache Camel to process SOAP messages. We have some old Camel routes that use SOAP 1.1 in the CXF sender component. The new ones use SOAP 1.2. It turned out that it is possible to use the same address in the endpoint if the SOAP versions are different. Looking in the CXF code it seems that the class SoapBindingFactory in method addListener(Destination d, Endpoint e) only throws an error if the SOAP versions are matching: if (b instanceof org.apache.cxf.binding.soap.SoapBinding && b2 instanceof org.apache.cxf.binding.soap.SoapBinding && ((org.apache.cxf.binding.soap.SoapBinding)b).getSoapVersion() .equals(((org.apache.cxf.binding.soap.SoapBinding)b2).getSoapVersion()) && Boolean.FALSE.equals(o)) {
throw new RuntimeException("Soap " + ((org.apache.cxf.binding.soap.SoapBinding)b) .getSoapVersion().getVersion() + " endpoint already registered on address " + e.getEndpointInfo().getAddress()); } We are a little bit behind in the CXF version (3.2.11) but I think the code is the same in the master branch. Does it mean that this should work or is it a bug? Best Regards, Jörg