BizTalk Server Orchestration - Catching exception in orchestration

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > October 2005 > Catching exception in orchestration





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Catching exception in orchestration
Carlo Folini

2005-10-10, 7:51 am

Hi
My scenario is this…. I have an orchestration exposed as a web service.
In this orchestration I call our host (via a custom adapter that calls into
HIS) and I wait a result back. This was easily implemented using a
Request/Response with my Adapter. If Host is online I receive my response
and I can continue to execute my workflow.

I wrapped the Send and Receive in a Long Running Transaction and added an
Exception block to catch all general Exception.
I also tested replacing the catch exception block with compensation block
but the result that I obtained is the same.
If Host is Offline the message destinated to host is suspended.

http://BTSWPEXDistintaBaseSchema. H...br /> Suspended (resumable) BTSWPEXComunicationHost Mes
saging

And webservice return to a program this error:
“System.Web.Services.Protocols.SoapException: An exception is thrown by the
Orchestration schedule”

For some reason, when the adapter hits an error, it will terminate service
pipeline, it will transmit soap fault error, but does not pass the flow
control back to the Orchestration. And so I cannot execute any “compensation”
step before returning the control to calling program.

I need to solve this error so that I can successfully use my orchestration.
If anyone can share their wisdom and assistance, it would be greatly
appreciated.
Best Regards

Yossi Dahan

2005-10-10, 6:00 pm

Carlo Folini wrote:
> Hi
> My scenario is this…. I have an orchestration exposed as a web service.
> In this orchestration I call our host (via a custom adapter that calls into
> HIS) and I wait a result back. This was easily implemented using a
> Request/Response with my Adapter. If Host is online I receive my response
> and I can continue to execute my workflow.
>
> I wrapped the Send and Receive in a Long Running Transaction and added an
> Exception block to catch all general Exception.
> I also tested replacing the catch exception block with compensation block
> but the result that I obtained is the same.
> If Host is Offline the message destinated to host is suspended.
>
> http://BTSWPEXDistintaBaseSchema. H...br /> Suspended (resumable) BTSWPEXComunicationHost Mes
saging
>
> And webservice return to a program this error:
> “System.Web.Services.Protocols.SoapException: An exception is thrown by the
> Orchestration schedule”
>
> For some reason, when the adapter hits an error, it will terminate service
> pipeline, it will transmit soap fault error, but does not pass the flow
> control back to the Orchestration. And so I cannot execute any “compensation”
> step before returning the control to calling program.
>
> I need to solve this error so that I can successfully use my orchestration.
> If anyone can share their wisdom and assistance, it would be greatly
> appreciated.
> Best Regards


>

You need to explicitly catch soapexception
Add a reference to System.Web.Services
add then you will be able to add handle to the exception SoapException
instead of general exception

Yossi Dahan
Carlo Folini

2005-10-11, 7:52 am

Hi Yossi,
thnx for your help, it worked!

Cheers
--
Carlo Folini


"Yossi Dahan" wrote:

> Carlo Folini wrote:
>
> You need to explicitly catch soapexception
> Add a reference to System.Web.Services
> add then you will be able to add handle to the exception SoapException
> instead of general exception
>
> Yossi Dahan
>

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com