I have an orchestration published as a WS and in that orchestration i call another WS that can send an exception….
the orchestration is [url=http://web.tagus.ist.utl.pt/~rui.lourenco/PesquisaException.JPG]in this link[/url] and the HAT result [url=http://web.tagus.ist.utl.pt/~rui.lourenco/HAT.JPG]in this[/url]
I catch that exception but when i try to send a fault message to the receive port he gives the error in aplication log:
— A response message for two-way receive port \”WebPort_Teste_Proxy/WEBooksBiztalk_PesquisaLivros_WEBooksPortal\” is being suspended as the messaging engine could not correlate the response to an existing request message. This usually happens when the host process has been recycled. — followed by — A message sent to adapter \”SOAP\” on send port \”Teste_22.214.171.124_WEBooksBiztalk.PesquisaLivros_PortoWS_a63f6146e863a838\” with URI \”http://localhost/WEBooksAmazon/WEBooksAmazon.asmx\” is suspended.
I have a similar orchestration, External users submit data to a SOAP endpoint and need to always receive a response.
I resolved this by creating one response message schema that can handle both sucess and failure situations.
I also make calls from the orchestration to other services that may fail. Those calls I wrap in a non-transacted scope, with an exception handler for the scope that subscribes to a fault message that I add to the action on the send/recieve port.
If an exception occurs in one of the calls to external resources, I store information about it in variables.
At the end of the orchestation I create the response message using the data gathered throughout processing and return it.
Viewing 2 reply threads
The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.