NullPointerException in CXF Producer if no type converter is available
----------------------------------------------------------------------
Key: CAMEL-3151
URL: https://issues.apache.org/activemq/browse/CAMEL-3151
Project: Apache Camel
Issue Type: Bug
Components: camel-cxf
Reporter: Stephan Siano
Priority: Minor
When I am trying to send the content of a file to an CXF endpoint in PAYLOAD
format, I get a NullPointerException in line 603 of the CXFEndpoint class (in
the current trunk). The offending coding is:
CxfPayload<?> payload = (CxfPayload<?>)params[0];
List<Element> elements = payload.getBody();
The params are set in line 282 of the CxfProducer class:
params = new Object[1];
// TODO: maybe it should be mandatory body?
params[0] = exchange.getIn().getBody(CxfPayload.class);
The fix is most probably trivial (change to getMandatoryBody()) and add a
throws InvalidPayloadException to the getParams() method of CxfProducer). After
this is fixed (the same for the MESSAGE format two lines lower), the example
will still not work, but I get a meaningful error message saying that there is
no type converter between GenericFile and CxfPayload.
One could argue, that under some circumstances null payloads may be legal (I
just don't see any), but in this case the CxfEndpoint class would have to be
modified to avoid the NullPointerException. As the coding is a missing
converter or a null payload will trigger NullPointerExceptions for CxfEndpoints
unconditionally.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.