Problems with ESB Fault Handling


i testing out esb fault handling process , encountering basic issues. took simple scenario - itinerary receives message via wcf & routes via dynamic esb send port using wcf transport, routing information being specified via business rule. in receiving wcf application deliberately throw exception. these issues see:

a) unable deteremine error reason due error message truncation
in the esb portal find error fault description & exception is truncated 4096 characters. wcf generates long exception messages see message beginning "system.servicemodel.faultexception ....". esb portal doesn't try display full 4096 characters, in fact don't quite understand displaying - not same fault exception message found in esbexceptiondb. in database see:

system.servicemodel.faultexception: <s:envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><s:header><a:action s:mustunderstand="1" u:id="_2">http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher/fault</a:action> ... etc

whilst esb portal shows:

system.servicemodel.faultexception: http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher/faulturn:uuid:021231b7-c5d1-441c-be45-b714fe8cf8182009-11-05t09:57:25.755z2009-11-05t10:02:25.755z024haltmljlhbupedkpp5hwza==wwzrr07cx529sgpdjmdjhq

which totally useless operator trying determine error. esb portal doing? having problem because full error not being logged?

buried in wcf fault message actual error in "<body><fault>..." - esb should picking since inside actual error message faulting target application.

b) incorrect service name , fault generator
i have itinerary orchestration service. orchestration sending message wcf using dynamic port. if receiving wcf service faults esb logs error (with issues noted above) "service name" , "fault generator" being set values earlier in itinerary , not current service and port.

c) message retries
on a static send or send/receive port biztalk defaults performing 3 retries before failing message, dynamic send or send/receive error being generated immediately. how we specify message retry , retry interval esb dynamic ports?

d) message content type set "text/plain"
the esb capturing failed message setting content type "text/plain" within esbexceptiondb, yet biztalk shows these messages being text/xml. esb portal subsequently not allow resubmit the message since submit text/xml messages wcf onramp.

the esb fault handling 1 of things microsoft says significant bonus of esb toolkit, catalogue of problems with error handling starts make rather unusable. 

i have come work arounds for 3 of problems:

a) unable deteremine error reason due error message truncation
i changed columns of tables fault , contextproperty in esbexceptiondb varchar(4096) varchar(max). changed parameters in sp's usp_insert_contextproperty , usp_insert_fault varchar(4096) varchar(max). complete text of error.

c) message retries
i created custom pipeline solve this. see thread: http://social.msdn.microsoft.com/forums/en-us/biztalkesb/thread/2b38c1bc-20bb-4476-ba7a-31adf21558e8.

d) message content type set "text/plain"
see response in thread: http://social.msdn.microsoft.com/forums/en-us/biztalkesb/thread/01259ab0-54e0-4186-8bb3-46c041fb7fc0.


BizTalk Server  >  BizTalk ESB Toolkit



Comments

Popular posts from this blog

Azure DocumentDB Owner resource does not exist

job syspolicy_purge_history job fail in sqlserver 2008

Trying to register with public marketplace error with 'Get-AzureStackStampInformation'