0

We have an upstream application that will generate at times functionally invalid transaction sets.

I'm trying to push the message bodies of the failed transactions from the interchange and associated 999s to a send port or some other logging mechanism, while forwarding the valid transaction sets to downstream mapping process.

Any ideas on accomplishing this would be helpful.

Dijkgraaf
  • 11,049
  • 17
  • 42
  • 54
Xingzhou Liu
  • 1,507
  • 8
  • 12
  • Message routing happens with subscription filters on Orchestrations and Send Ports. So you need to look at the context properties of the message and work from there. Are the rejected messages suspending with a routing failure? – Dijkgraaf Jan 13 '22 at 18:45
  • I think so? Seeing "An output message of the component "Unknown " in receive pipeline "Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive ... Error encountered during parsing ... sequence number of suspended message is 16" in message tracking, and 999 is being sent to port. Trying to route the invalid ST only (not the entire interchange) to the same place as the 999 ack for the EDI analyst to pick up. – Xingzhou Liu Jan 13 '22 at 21:11

1 Answers1

0

First check "Enable Routing for failed messages" on the Receive Port

Then add a filter to your send port to subscribe to those messages.

e.g.

ErrorReport.ReceivePortName = <your port name> AND
ErrorReport.FailureCode Exists

If you have an existing filter you need to have an OR on the last line of that filter.

<existing filer line1> AND
<existing filer line2> OR 
ErrorReport.ReceivePortName = <your port name> AND
ErrorReport.FailureCode Exists
Dijkgraaf
  • 11,049
  • 17
  • 42
  • 54
  • So I hit enable routing for failed messages. Created a new one way send port, and added filter BTS.RecievePortName and ErrorReport.FailureCode Exists, pipeline is edisend, and nothing is hitting the port... sorry, new to BT, am I missing something? – Xingzhou Liu Jan 14 '22 at 01:14
  • Oh! got it to work, using ErrorReport.ReceivePortName! – Xingzhou Liu Jan 14 '22 at 01:30
  • @XingzhouLiu Yes, you are right, that's what it should be – Dijkgraaf Jan 14 '22 at 02:13