The MuleProtocolHeadersOutInterceptor is not being added to the fault chain, meaning the protocol headers such as the Content-Type are not being written.
From the mailing list:
I'm using Mule 2.0.1 with CXF transport, Aegis databinding
(frontend="simple").
Exception strategy for each service =
org.mule.transport.cxf.CxfComponentExceptionStrategy
Trying to migrate services from XFire. I'm having a problem when CXF throws
a Fault message- the encoding is set to plain/text rather than plain/xml.
Normal soap responses are fine, only Faults have this problem.
My client application is using Jaxws and as a result of this cannot catch
exceptions, it reports:
Could not access remote service at
[snip]
nested exception is com.sun.xml.ws.server.UnsupportedMediaException:
Unsupported Content-Type: text/plain Supported ones are: [text/xml]
Caused by: com.sun.xml.ws.server.UnsupportedMediaException: Unsupported
Content-Type: text/plain Supported ones are: [text/xml]
I have used the SoapUI tool to check this and it confirms that Faults have
text/plain encoding.
Not sure whether this is a CXF or Mule problem, or whether it's a known
issue, can anyone advise?
<cxf:inbound-endpoint ....>
<cxf:outFaultInterceptors>
<spring:bean class="org.mule.transport.cxf.suppot.MuleProtocolHeadersOutInterceptor">
</cxf:outFaultInterceptors>
</cxf:inbound-endpoint>