none
Routing Failure Error when resume instance RRS feed

  • Question

  •  

    Hi All..

    I am working on solution where i want to catch exception using system.exception..if there is port failure the message is generated and i can collect the error message xml in folder...now due to port failure the messages will go in suspend(resumable) mode..so click query expression in Biztalk administration and right clicked the messages and select resume instance due to this its giving routing failure error..

    what should i do to resume the messages so that it can flow in orchestration...

     

    Pls reply..

    Sandeep

    Thursday, July 10, 2008 10:29 AM

Answers

  • Your situation is tricky because a routing failure occurs outside the scope of an orchestration. Routing occurs within the BizTalk MessageBox database. For this reason, you are not able to catch the exception because the error will not throw while inside of your try/catch block.

     

    You should actually enable a port filter that routes messages that encounter errors. Here is a blog post that mentions some of the possible filter details to match messages with errors: http://blogs.conchango.com/matthall/archive/2005/07/28/1894.aspx.

     

    Thanks,

    Thursday, July 10, 2008 1:16 PM
    Moderator

All replies

  • Your situation is tricky because a routing failure occurs outside the scope of an orchestration. Routing occurs within the BizTalk MessageBox database. For this reason, you are not able to catch the exception because the error will not throw while inside of your try/catch block.

     

    You should actually enable a port filter that routes messages that encounter errors. Here is a blog post that mentions some of the possible filter details to match messages with errors: http://blogs.conchango.com/matthall/archive/2005/07/28/1894.aspx.

     

    Thanks,

    Thursday, July 10, 2008 1:16 PM
    Moderator
  • Hi Ben..

    Thanks for reply..

    My requirment is that when the problem with the SAP send receive port is fixed..then the messages should resume from the last persisted state..by selecting "Resume Instance" for suspended(resumable) messages...

    i don't want the suspended messaged to be collected some where...i want them to continue processing after admin will resume instance...

     

    Pls reply

    Sandeep

     

    Thursday, July 10, 2008 1:40 PM
  • Hi Sandeep,

     

    I have alwas had trouble handling send port failure exceptions.  Sometimes they throw up into the orchestration, sometimes not.  It seems that 2 way send ports (request/response) are more likely to throw the exception back into the orchestration.  Also, with 2 way ports you can add a fault operation, which can help get the exception to you sometimes.  If it's a one way send port then there's not much you can do to get the exception back into the orch.  This might be a workaround:  Enable failed message routing on the send port. Right after the send, put a receive shape that looks for failed messages.  Put this receive inside a listen shape with a timeout.  If you receive a failed message then suspend.  Maybe put all that inside a loop, so you can resume and resubmit.

     

    Hope this is helpful!

    Thursday, July 10, 2008 10:25 PM
  • Hi Russ..

    Thanks for reply..

    can i resume suspended messages if it is in suspended(resumable) state..because when i am resuming instance its giving me routing failure error...

    If i can able to resume messages then it will solve my problem..

     

    pls reply..

     

    Cheers..

    Sandeep

     

    Friday, July 11, 2008 5:28 AM