WF Services Calling sequence Problme
I have WWF, which is having 3 Sequences activities each sequence consist of ReceiveAndSendReply activities.
Ex:
Sequence A
ReceiveA (ApplicationObject)
SendReplyA(ApplicationObject)-> initialize correlation with the user defined ID (ApplicationObject.id)
Sequence B
ReceiveB (ApplicationObject) -> correlation on with the ID
SendReplyB (Boolean)
Sequence C
ReceiveC (ApplicationObject) -> correlation on with the ID
SendReplyC (Boolean)
Three services are called in three consequent stages. I have two problems
1) The flow work fine until Sequence B, But when I call ReceiveC, I got an error in client side
The execution of an InstancePersistenceCommand was int开发者_StackOverflow社区errupted because the instance key '8f7ff672-1aba-35f1-f7d8-7dca44343be7' was not associated to an instance.
2)Sometimes I want to call ReceiveB again and again. But When I call ReceiveB in the second time I got following error message.
Operation 'ApplicationScreeningRequest|{http://tempuri.org/}IApplicationService' on service instance with identifier '858ce665-6785-4840-8812-d277b2574a10' cannot be performed at this time. Please ensure that the operations are performed in the correct order and that the binding in use provides ordered delivery guarantees.
Can anybody help me to fix this issues.
Maybe I'm missing something, but normally once you call ReceiveB the first time the workflow will progress to Sequence C. At that point ReceiveB is no longer active and subsequent calls to it will fail.
Likewise if you call ReceiveC and the instance whose ID you're correlating on is sitting at ReceiveB, it'll fail.
Are you wanting each Receive to start a new instance of the workflow? If that's the case and this is WF4, the ubiquitous Maurice has a nice blog entry on Workflow Receive activity and message correlation.
精彩评论