Hi,
after the 3.3.1 -> 3.3.2 upgrade a bpel process running on Ode is no longer
able to invoke a webservice deployed on Servicemix.
The message gets rejected by ReadHeadersInterceptor with this exception
WARN - PhaseInterceptorChain - Interceptor for {
http://www.klever.it/kdv/transformation/ws}TransformationService has thrown
exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: "
http://www.klever.it/kdv/transformation/ws", the namespace on the
"transform" element, is not a valid SOAP version.
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:131)
at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
at
org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:156)
at
org.apache.servicemix.cxfse.CxfSeEndpoint.process(CxfSeEndpoint.java:452)
This is the message content
{javax.jbi.messaging.MessageExchange=InOut[
id: ID:127.0.1.1-131bda96315-33:1
status: Active
role: provider
interface: {http://www.klever.it/kdv/transformation/ws}TransformationPort
service: {http://www.klever.it/kdv/transformation/ws}TransformationService
endpoint: TransformationServiceImplPort
operation: {http://www.klever.it/kdv/transformation/ws}transform
in: <?xml version="1.0" encoding="UTF-8"?><transform xmlns="
http://www.klever.it/kdv/transformation/ws">
<tns:data-package xmlns:tns="
http://www.klever.it/kdv/transformation/ws" xmlns:ns1="
http://www.klever.it/kdv/registry"
ns1:creation-time="2011-08-12T16:03:12.011+02:00" ns1:id="761636"
ns1:name="8c767f20-1491-4cc9-a443-7cd3133df60a"><ns1:lifecycle
ns1:current-state="transform" ns1:id="761638"
ns1:previous-state="extract"/><ns1:transaction ns1:id="761637"
ns1:start-time="2011-08-12T16:03:12.011+02:00"
ns1:status="active"/><ns1:src-renditions><ns1:document>761639</ns1:document></ns1:src-renditions><ns1:target-renditions/></tns:data-package>
<tns:target-service xmlns:tns="
http://www.klever.it/kdv/transformation/ws
">bp-fm-pdftransformation</tns:target-service>
<tns:target-service-ns xmlns:tns="
http://www.klever.it/kdv/transformation/ws">
http://www.klever.it/kdv/transformation</tns:target-service-ns>
</transform>
],
org.apache.ode.jbi.msgmap.Mapper=org.apache.ode.jbi.msgmap.ServiceMixMapper,
activityId=87, org.apache.cxf.message.Message.ATTACHMENTS=[],
org.apache.cxf.transport.Destination=org.apache.cxf.transport.jbi.JBIDestination@6a102a08,
Content-Type=text/xml, invokeCheckJobId=hqejbhcnphr6ickawo6wwt}
What fails is a validation about the Soap version that fails because this is
not a SoapMessage.
This validation was not present in cxf 2.1.4 and everything worked.
I suppose I should fix this using a different ode-jbi.messageMapper but I
did not find anything that looks suitable.
Do I have to write a custom one as described here?
http://www.intalio.org/confluence/display/PXE/SOAP+Binding+and+JBI+Normalization
I suppose there is a simpler way to solve this problem, but I couldn't find
it.
Thanks in advance, bye
Lorenzo