none
WCF Adapter and validation exceptions RRS feed

  • Question

  • LS,

    When I have a receive location based on a WCF Adapter with a validating XML Receive pipeline and I submit a request to it that doesn't apply to the configured schema I receive a NACK in my client. The incoming message is suspended in BizTalk as configured in the adapter properties.

    Is there a way to not send the NACK and instead send a response message which I will create in an orchestration that will subscribe to the failed message?

    Regards,

    René

    Wednesday, June 2, 2010 11:02 AM

All replies

  • Hi Rene,

    Actually we can catch DeliveryFailureException in our orchestration and access the NACK message body after receiving it. If what you want is the orignal message, enabling Failed Message Routing is the way to go. Please refer to:

    Using Acknowledgments

    http://msdn.microsoft.com/en-us/library/aa559421(BTS.20).aspx

    Using Failed Message Routing
    http://msdn.microsoft.com/en-us/library/aa578516(v=BTS.20).aspx

    http://kentweare.blogspot.com/2007/11/biztalk-delivery-notification.html


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
    Monday, June 7, 2010 9:46 AM
    Moderator
  • Hi Rene,

    Enabling Failed message routing would be the suitable solution for you.

    Go through the section "Failed Orchestration Routing" of the below link..

    http://blogs.objectsharp.com/CS/blogs/matt/archive/2006/11/01/4110.aspx

    Here you will find how a message failed in orchestration can be routed to a send port or an orchestration having filter as

    ErrorReport.ErrorType = FailedMessage
    (if using a send port)
    Or:
    ErrorReport.ErrorType = "FailedMessage"
    (For a Receive Shape in an orchestration.)

    Regards,

    Abhijit


    Please "Mark as Answer" if Post has Answered the Question
    Monday, June 7, 2010 9:56 AM
  • Wen Jun and Abhijit,

    Thanks for looking into this post, and I intend to use failed message routing to create a proper response to the client. But the client already got a response from the adapter, because of the failure of validating the request in the XMLReceive pipeline. What I would like is to somehow disable this behavior of the adapter, so I can send a response I created myself.

    Thanks,

    René

    Tuesday, June 8, 2010 7:52 AM