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

[1354 byte] By [JodyPetroni] at [2008-1-9]
# 1

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

RichardHallgren at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 2

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.

JodyPetroni at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 3

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

RichardHallgren at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 4
Richard,
Its the Receive Port - I deliberately drop a file into a receive location that has errors in it!

Jody

JodyPetroni at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 5

Hi,

I think you can route the error messages to different port, so you can explore it.

MohamedRadi at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 6

Ok. But what kind of error is it? What happens? What do you see in the application log? I need to make sure that the error actually occurs during receive because then it's strange as the documentation clearly says that if so that property should be promoted. But I guess you are 100% sure that it occurs during receive? You have a validation in the receive that fails or some like that? What kind of error do you get?

Richard Hallgren

http://www.richardhallgren.com

RichardHallgren at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...
# 7

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

JodyPetroni at 2007-10-2 > top of Msdn Tech,BizTalk Server,BizTalk R2 General...