Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Software > Biz Talk Orchestration > Zombie problem
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 2 Topic 4161 of 4219
Post > Topic >>

Zombie problem

by =?Utf-8?B?TGFkaXNsYXYgTXJua2E=?= <LadislavMrnka@[EMAIL PROTECTED] Aug 1, 2008 at 06:49 AM

Hello,
I am facing problem with one of my orchestration. The process in 
orchestration is as follow:

1. Receive message (orchestration is published as Web Service - receive is

one way web method)

Scope - long running transaction
2. Extract key from promoted properties of general do***ent schema
3. Convert message (in general do***ent schema) to XmlDo***ent
4. Call another orchestration which uses key to load proper map and 
transforms input XmlDo***ent to another XmlDo***ent
5. Send output XmlDo***ent to another system in atomic transaction - non 
transactional MSMQ. Correlation is started by this shape - correlation 
property is promoted in custom pipeline component.
6. Listen shape - Waiting for reply
  6.1. Receive response from non transactional MSMQ
  6.2. Wait for timeout, then create TimeoutException and throw it
7. Check if response contains error element
8. Decide shape 
  8.1. Error appears in response - create ApplicationException and throw
it
  8.2. Error doesn't appears in response - create message from response 
(assignment to multi part message for calling referenced web service).
Send 
created message in atomic transaction - calling one way web method on 
referenced web service.  
End Scope
Catch System.Exception
9. Log exception to application log
10. Create error message (calling external assembly and assigning
resulting 
XmlDo***ent to multi part message for calling referenced web service).
Send 
error message - call another one way web method on referenced web service.
End Catch

This orchestration works as expected if everything goes right. But when 
exception is thrown and orchestration ends after processing catch block 
zombie message occures each time. This message doesn't have any message
type 
because message body is empty. It actually contains several context 
properties related to ACK like AckType = Ack, AckSend****t = My Physical
MSMQ 
****t. I used HAT to find message referenced by AckId - it is serialized 
interchange message comming out from physical MSMQ ****t. So I guess it
should 
be positive Ack (positive Ack in MSMQ has empty body) from reaching the 
destination queue in step 5 but what suprise me is that ACK messages from 
administration queue are not picked up. The next thing which I don't 
understand is why the zombie message occures only if orchestration throws
and 
processes the exception.

My Physical MSMQ ****t is set up as follows:
Type = MSMQ
Acknowledgement Type = FullReachQueue
Administration Queue = ...
Destination Queue = ...
Recoverable = true
Timeout = 15 
Timeout units = seconds (setting for testing)
Transactional = false
Retry count = 0

I tryed to make some configuration changes like use Delivery Notification
= 
Transmitted on my logical send ****t in orchestration and set up atomic 
transaction scope from sep 5 to synchronized. I also tryed to change 
Acknowledgement types in physical ****t's settings but neither of these
didn't 
changes solve the problem.

Does anybody have an idea where should I look for the solution of this 
problem?

Thanks in advance for response,
Ladislav Mrnka
 




 2 Posts in Topic:
Zombie problem
=?Utf-8?B?TGFkaXNsYXYgTXJ  2008-08-01 06:49:01 
Re: Zombie problem
"Paul Somers[MVP]&qu  2008-10-07 06:42:22 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Nov 22 7:37:05 CST 2008.