Thanks Claus! The following code works. <camel:setHeader headerName="Exchange.FILE_NAME"> <camel:constant>request-${date:now:yyyy-MM-dd-HHmmssSSS}</camel:constant> </camel:setHeader>
I still don't understand how the following Java DSL works, i mean "transform" part : from("cxf:bean:reportIncident") .convertBodyTo(InputReportIncident.class) .setHeader(Exchange.FILE_NAME, constant("request-${date:now:yyyy-MM-dd-HHmmssSSS}")) .wireTap("file://target/inbox/") .choice().when(simple("${body.givenName} == 'Claus'")) .transform(constant(ok)) .otherwise() .bean(new ReportIncidentImpl(), "doReportIncident") .transform(constant(accepted) ); To me transform(constant(ok)) will return a string "ok", but client is expect OutputReportIncident. Of course, the Java DSL works, and my translation of Spring DSL did not work. Why? I created a bean: @Override @WebResult(name = "outputReportIncident", targetNamespace = "http://reportincident.example.camel.apache.org", partName = "out") @WebMethod(action = "http://reportincident.example.camel.apache.org/ReportIncident") public OutputReportIncident doReportIncident( @WebParam(partName = "in", name = "inputReportIncident", targetNamespace = "http://reportincident.example.camel.apache.org") InputReportIncident in) { // TODO Auto-generated method stub System.out.println("==================================================="); System.out.println(in.familyName); // in.setGivenName("IChangeIt"); OutputReportIncident output = new OutputReportIncident(); if(in.getGivenName().equalsIgnoreCase("Claus")){ output.setCode("OK"); } else { output.setCode("Accepted"); } return output; } That works. What have I missed? Thanks, --Gary -- View this message in context: http://camel.465427.n5.nabble.com/Problem-from-Java-DSL-to-Spring-DSL-tp5732558p5732613.html Sent from the Camel - Users mailing list archive at Nabble.com.