Hi Willem You added by mistake this import which is not needed: +import java.security.InvalidParameterException;
On Mon, Mar 7, 2011 at 5:43 AM, <ningji...@apache.org> wrote: > Author: ningjiang > Date: Mon Mar 7 04:43:35 2011 > New Revision: 1078684 > > URL: http://svn.apache.org/viewvc?rev=1078684&view=rev > Log: > CAMEL-3761 Throw exception when CXFProducer can't set right payload > parameters according to the BindingOperationInfo > > Modified: > > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java > > camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java > > Modified: > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java > URL: > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=1078684&r1=1078683&r2=1078684&view=diff > ============================================================================== > --- > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java > (original) > +++ > camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java > Mon Mar 7 04:43:35 2011 > @@ -17,6 +17,7 @@ > package org.apache.camel.component.cxf; > > import java.lang.reflect.Proxy; > +import java.security.InvalidParameterException; > import java.util.Collection; > import java.util.List; > import java.util.concurrent.atomic.AtomicBoolean; > @@ -623,6 +624,11 @@ public class CxfEndpoint extends Default > content.put(partInfo, elements.get(i++)); > } > } > + > + if (content.size() < elements.size()) { > + LOG.warn("Cannot set right payload paremeters. Please > check the BindingOperation and PayLoadMessage."); > + throw new IllegalArgumentException("The PayLoad elements > cannot fit with the message parts of the BindingOperation. Please check the > BindingOperation and PayLoadMessage."); > + } > > message.setContent(List.class, content); > message.put(Header.HEADER_LIST, payload.getHeaders()); > > Modified: > camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java > URL: > http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java?rev=1078684&r1=1078683&r2=1078684&view=diff > ============================================================================== > --- > camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java > (original) > +++ > camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java > Mon Mar 7 04:43:35 2011 > @@ -139,6 +139,14 @@ public class CxfProducerRouterTest exten > String response = out.getBody(String.class); > assertTrue("It should has the echo message", response.indexOf("echo " > + TEST_MESSAGE) > 0); > assertTrue("It should has the echoResponse tag", > response.indexOf("echoResponse") > 0); > + > + senderExchange = new DefaultExchange(context, ExchangePattern.InOut); > + senderExchange.getIn().setBody(REQUEST_PAYLOAD); > + // Don't specify operation information here > + exchange = template.send("direct:EndpointC", senderExchange); > + > + assertNotNull("Expect exception here.", exchange.getException()); > + assertTrue(exchange.getException() instanceof > IllegalArgumentException); > > } > > > > -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/