I have an Orchestration where i want to catch timeouts from a scope and/or from the WCF-BasicHttp (binding timeouts), will these throw the same type e.g TimeOutException? because i'm not able to catch them, i always end up in an SOAPException.
Here is my Orchestration:
I think what you did is right...since its returning a Soap Exception.....you cannot define and catch a TimeOut Exception.
Normally People use a delay shape with a timer and throw a TimeOut Exception.
Just have a look at these links
Regards,NISHIL MCT,MCTS | Freelance BizTalk Consultant.biztalkconnect.blogspot.com
In your TimeoutException catch exception block, I am assuming that you specified the Exception Object Type property as of type System.TimeoutException, is that correct? Also, I see that you have a Decide shape inside of your catch exception block, so check the expression in the rule on the left-hand side to make sure that it is correct.
"Google skills are more important than your coding skills."
That is correct, it's the System.TimeOutException i'm using and in the decide shape the rule is the same as the others, catching SOAPException and the typed fault from service works fine. if it was something with the decied shape rule in the TimeOutException catch block i wouldn't end up in the in the SOAPException. It has to be the Exception Object Type property, either that or i'm not simulating a timeout correctly (by lowering the timeout values on the WCF-BasicHttp).
Can you enable tracking on the SendPort and check what message are you getting back?
Yes i have it enabled. I'm not getting any message back since the WCF-BasicHttp times out. It's this timeout i want to catch.Since i get a SOAPException back instead i use that and pars it to look for "System.TimeoutException" and make my decision from there.
Ok, good then i run with what i got :) Thanks!