Cant get "Enable routing for failed messages". to work!!!
Hi all,
I have a Recieve Port named "xxx" on which I "Enable routing for failed messages". I then have a send port that is set up to email me if there is an error...I have a filter ErrorReport.ReceivePortName ==xxx on that Send Port (PassThruSubmit).
I expect that if for example I drop a file into a file recieve location (with the Receive Port xxx) that fails that I would get an email.
However the message is suspended and the ErrorReport.ReceivePortName == xxx is not promoted.
What is missing?
Thanks in advance
Hi Jody,
To avoid that the error message is routed to subscribers that actually are subscribing on you original messages its original properties are demoted. Think of it, otherwise all port that subscribe to messages (from a specific ReceivePortName for example) could end up getting the error message. So they demote this and you'll have to try and solve you subscription on the error using the specific error properties.
ReceivePortName can actually be promoted in a error message if the error occurs during receive (but is demoted during send to avoid messing up subscription as I talked about)
This is a good article that talks about all this.
Richard Hallgren
http://www.richardhallgren.com/blog
Thanks Richard,
I am not sure I follow - "My Error" Send Port IS subscribing to the error property - ErrorReport.ReceivePortName == "xxx"
As I understand it the original message properties are demoted but the message failure properties are promoted (of which ErrorReport.ReceivePortName == "xxx" is one) therefore my send port should pick it up. However the Error Report properties are not promoted.
Sorry if I sound stupid.
ReceivePortName can actually be promoted in a error message if the error occurs during receive (but is demoted during send to avoid messing up subscription as I talked about)
Does your message fail during send or receive? If it's during send (which it probably is) your error message will have a demoted ReceivePortName.
Richard Hallgren
http://richardhallgren.com/blog
Richard,
I have a simple scenario where I have a flat file, which gets converted via a pipeline to xml and is then placed in a directory (i.e., no orchestration just routing!). This works fine. If however I push through a file I know will not convert to xml (eg extra fields, extra carriage return etc) - the pipeline fails and the message is suspended - i.e., my Send Port with the filter ErrorReport.ReceivePortName doesnt work because that property is not promoted.
Jody