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.
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.
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
Post a Comment