Hi!
I'm trying to create a simple WS proxy using Switchyard 1.1 with Camel:
--> PromotedService --> Camel --> ProxifiedService
With the current configuration I'm able to send and recieve messages without
any problem.
However, when the ProxifiedService throws a SoapFault it is not propagated
to the caller of the PromotedService.
What can I do to ensure the the PromotedServiceCaller receives the SOAPFault
as reponse?
This is what I have tried so far:
/onException(SoapFault.class)
.process(
new Processor() {
public void process(Exchange exchange) throws Exception {
//This method is never called.....
SoapFault fault = exchange.getProperty(Exchange.EXCEPTION_CAUGHT,
SoapFault.class);
exchange.getOut().setFault(true);
exchange.getOut().setBody(fault);
exchange.setProperty(Exchange.ERRORHANDLER_HANDLED, false);
exchange.removeProperty("CamelExceptionCaught");
})
.handled(true)
.end();
*from("switchyard://PromotedService")
.process(myProc) // --> I just add some headers here to the
original request.
.handleFault()
.to("switchyard://ProxifiedService").handleFault().end();*/
Thank you!
I'm trying to create a simple WS proxy using Switchyard 1.1 with Camel:
--> PromotedService --> Camel --> ProxifiedService
With the current configuration I'm able to send and recieve messages without
any problem.
However, when the ProxifiedService throws a SoapFault it is not propagated
to the caller of the PromotedService.
What can I do to ensure the the PromotedServiceCaller receives the SOAPFault
as reponse?
This is what I have tried so far:
/onException(SoapFault.class)
.process(
new Processor() {
public void process(Exchange exchange) throws Exception {
//This method is never called.....
SoapFault fault = exchange.getProperty(Exchange.EXCEPTION_CAUGHT,
SoapFault.class);
exchange.getOut().setFault(true);
exchange.getOut().setBody(fault);
exchange.setProperty(Exchange.ERRORHANDLER_HANDLED, false);
exchange.removeProperty("CamelExceptionCaught");
})
.handled(true)
.end();
*from("switchyard://PromotedService")
.process(myProc) // --> I just add some headers here to the
original request.
.handleFault()
.to("switchyard://ProxifiedService").handleFault().end();*/
Thank you!