28 May 2008

... the namespace on the "message" element, is not a valid SOAP version.

Recently I was working on a SMX usecase:
external client -> CXF BC consumer -> CXF SE

All configured nicely it still failed at runtime with

INFO: Interceptor has thrown exception,
unwinding now org.apache.cxf.binding.soap.SoapFault:
"http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper",
the namespace on the "message" element, is not a valid SOAP version.


It took me a while to figure out what's wrong. In the end I only had to set useJBIWrapper="true" in the config of my CXF SE component:


<beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0">
<cxfse:endpoint useJBIWrapper="true">
<cxfse:pojo>
<bean class="org.apache.servicemix.samples.cxf_ws_security.GreeterImpl" />
</cxfse:pojo>
</cxfse:endpoint>
</beans>


Those error messages really need to get improved in SMX. There are too many low level errors raised that give you no indication of what the real problem is.