cxfrs producer component should handle attachments
--------------------------------------------------
Key: CAMEL-3820
URL: https://issues.apache.org/jira/browse/CAMEL-3820
Project: Camel
Issue Type: Bug
Components: camel-cxf
Affects Versions: 2.7.0, 2.1.0
Reporter: Peter Easton
Fix For: 2.1.0
camel-cxf producer does not support attachments, for example:
Where:
<route>
<from uri="direct://http"/>
<to uri="cxfrs://http://localhost:9002"/>
</route>
a send like the following should be supported.
Exchange exchange = template.send("direct://http", new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.setPattern(ExchangePattern.InOut);
Message inMessage = exchange.getIn();
inMessage.setHeader(CxfConstants.CAMEL_CXF_RS_USING_HTTP_API,
Boolean.TRUE);
inMessage.setHeader(Exchange.HTTP_METHOD, "PUT");
inMessage.setHeader(Exchange.CONTENT_TYPE, "multipart/related");
inMessage.setHeader(Exchange.HTTP_PATH,
"/customerservice/multicustomers");
inMessage.setBody(null);
inMessage.addAttachment("p1", new DataHandler(new
ByteArrayDataSource("p1 content".getBytes(), "text/plain")) );
inMessage.addAttachment("p2", new DataHandler(new
ByteArrayDataSource("p2 content".getBytes(), "text/plain")) );
}
});
I am enclosing a suggested change to
org.apache.camel.component.cxf.jaxrs.DefaultCxfRsBinding that supports
attachments for the cxfrs producer.
Note support for attachments by the cxfrs consumer component may require a
separate defect.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira