Rob,
The 'attach a routing slip to the message' just tries to describe this
EIPs behavior; the static routing slip doesn't change anything to the
message itself. Your PollingEndpoint should have a
process(MessageExchange) method you can implement to 'receive' the
response. The other option would be to use sendSync() instead of
send(), to send the message exchange synchronously and receive the
information in your poll() method.
Gert
Rob de Jong wrote:
Hello Gert,
Also, it's a bit strange that you are sending the
faults to a poller service endpoint. Are you sure
your BC can handle this type of incoming messages?
Yes, the syntax you proposed works quite a lot better.
Now it seems the fault is returned to the custom component
which, as you noticed is not yet set up to handle faults.
error: javax.jbi.messaging.MessagingException:
Could not find route for exchange: RobustInOnly[
If you need the fault/success status in your original poller
component, wouldn't it be easier to have it send In-Out
exchanges instead.
Something like
akrpoller -> static routing slip -> XSLT
-> Logger
-> HTTP
This way, the response from the HTTP provider endpoint would
go back to the akrpoller automatically. If there is no fault
in the message exchange, it can ignore the response.
Otherwise, it can stop polling or whatever it should do...
This seems to be a good idea. I've taken a gander at the static
routing slip, and it seems to manage quite well. I assume that
by "Attach Routing Slip to Message" they do not alter the message
content itself?
I'll rewrite the Component and the assembly and see if this solves
the irks. But first one last question.
The custom JBI Component that is polling and initiating the
transaction is set up to extend from the PollingEndpoint and it
implements no methods for processing. When I recode it into
supporting the in-out MEP, will I have to create a processing
method for the Out messages (and maybe even Faults) that it receives,
or can that be dealt with via the sent method by capturing the reply
there?
Cheers,
Rob