Hi all,

I am trying to send SOAP request with Content-Type application/soap+xml. I
call SOAPConsumer with correct header, in the middle of the route header is
modified once again (to be sure), but in the end I get HTTP response '415:
Cannot process the message because the content type 'text/xml;
charset=UTF-8' was not the expected type 'application/soap+xml;
charset=utf-8'.' 

Why does CXF changes the content-type and how to force it not to?

///Consumer endpoint
<cxfEndpoint id="SendMessage0"
address="http://${http.host}:${http.port}/SendMessage";
serviceName="tns:SendMessageService" wsdlURL="classpath:/SendMessage.wsdl"
xmlns="http://camel.apache.org/schema/blueprint/cxf";
xmlns:tns="urn:send:message">
                <properties>
                        <entry key="dataFormat" value="PAYLOAD"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; />
                </properties>
                <inInterceptors>
                </inInterceptors>
                <outInterceptors />
                <binding>
                        <soap:soapBinding version="1.2"
xmlns:soap="http://cxf.apache.org/blueprint/bindings/soap"; />
                </binding>
                <features>
                        <bean class="org.apache.cxf.feature.LoggingFeature"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; />
                        <reference id="eventFeature"
interface="org.talend.esb.sam.agent.feature.EventFeature"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; />
                </features>
</cxfEndpoint>

///Producer endpoint
        <cxfEndpoint id="SendMessage1" serviceName="tns:SendMessageService" 
wsdlURL="classpath:/SendMessage.wsdl" address="${http.client.url}"
xmlns="http://camel.apache.org/schema/blueprint/cxf";
xmlns:tns="urn:send:message">
                <properties>
                        <entry key="dataFormat" value="PAYLOAD"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; />
                        <entry key="ws-security.username" 
value="${ws-security.username}"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; />
                        <entry key="ws-security.password" 
value="${ws-security.password}"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; />
                </properties>
                <inInterceptors />
                <features>
                        <reference id="eventFeature"
interface="org.talend.esb.sam.agent.feature.EventFeature"
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"; />
                        <wsa:addressing allowDuplicates="false"
xmlns:wsa="http://cxf.apache.org/ws/addressing"; />
                        <policies xmlns="http://cxf.apache.org/policy";>
                                <PolicyReference 
URI="etc/org.talend.esb.job.token.policy"
xmlns="http://www.w3.org/ns/ws-policy"; />
                        </policies>
                </features>
        </cxfEndpoint>


<camelContext>
 <route>
   <from uri="SendMessage0">
   <setHeader headerName="Content-Type"><constant>application/soap+xml;
charset=utf-8</constant></setHeader>
   <to uri="SendMessage1">
 




--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-CXF-wrong-Content-Type-sent-tp5790368.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to