Author |
Message
|
ucbus1 |
Posted: Thu Dec 12, 2002 1:33 pm Post subject: Design question |
|
|
Knight
Joined: 30 Jan 2002 Posts: 560
|
We are having a web application which writes messages to a local queue on a Windows NT machine. The messages get transferred to EXEXMLINPUTQ of workflow. When this message is received we have to give a "FORMATTED" response back to a queue XYZ. Another application reads the message from the queue and performs some other process.
Could some body tell me how I can create FORMATTED message when a message is put in workflow and a workflow instance is created?
Thanks |
|
Back to top |
|
 |
ucbus1 |
Posted: Fri Dec 13, 2002 5:40 am Post subject: |
|
|
Knight
Joined: 30 Jan 2002 Posts: 560
|
Seesm like my question is too confusing, I am findingquite a feww number of people are viewing the message and but not able to provide any solution.
OK, here is the problem restated
I have two applications X and Y. Both X nad Y are putting messages in EXEXMLINPUTQ while instantiating workflow workinstance. Application X is doing straight put where as application Y is putting it in a local queue on Win2k box which gets transferred to EXEXMLINPUTQ and workflow instance is created. We would like to have a n audit system developed to track.
Incase application X which doing a straight put , we have to send a message having "format A" to another queue "XYZ", after putting message successfully into workflow.
Incase application Y which doing a transmison , we have to send a message having "format B" to the queue "XYZ", after putting message successfully into workflow.
What is the best,robust,easy way to handle this
Thanks |
|
Back to top |
|
 |
vennela |
Posted: Fri Dec 13, 2002 6:11 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Why not use CorrelID?
Application X and Application Y both would use different CorrelIDs. You can specify the ReplyToQ as XYZ in both the applications and WorkFlow would reply to that queue with whatever CorrelID you supply it with.
---
Venny |
|
Back to top |
|
 |
ucbus1 |
Posted: Fri Dec 13, 2002 6:48 am Post subject: |
|
|
Knight
Joined: 30 Jan 2002 Posts: 560
|
Thanks.
With application x I think I can do this. But how to handle application Y which is a web application .
This just puts the message in local queue and this get transferred to workflow. It CAN NOT wait
-to read the response message from workflow
-forrmat Deifferent message
- put in different queue.
This is a real time application and would make the user can not wait for that long time. |
|
Back to top |
|
 |
vennela |
Posted: Fri Dec 13, 2002 7:09 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
It's not the application that is putting to the XYZ Queue. It's workflow that PUTs the message.
In your XML message (that you are PUTting ) you need to specify ResponseRequired as Yes. As I mentioned earlier use different CorrelID's for the two applications.
Now I guess this is what happens
Application A:
PUT XML message to Workflow with CorrelIDA
(Your program ends here)
Workflow reads the message.. sees that response has to be sent and it will reply back to the ReplyQ (which you will set as XYZ) with the CorrelIDA.
Application B:
PUT XML message to Workflow with CorrelIDB
(Your program ends here)
Workflow reads the message.. sees that response has to be sent and it will reply back to the ReplyQ (which you will set as XYZ) with the CorrelIDB.
So your web application can fire a message and forget about that.
---
Venny |
|
Back to top |
|
 |
ucbus1 |
Posted: Fri Dec 13, 2002 7:17 am Post subject: |
|
|
Knight
Joined: 30 Jan 2002 Posts: 560
|
Thanks Venny
Quote: |
Workflow reads the message.. sees that response has to be sent and it will reply back to the ReplyQ (which you will set as XYZ) with the CorrelIDA.
|
Can the response be in custom format. I mean can I ask the workflow to send one format of message if it is from application x
different format of message if it is form application Y. So basically what I am asking is in application can I say "Put some message and mention replytoq(xyz) with the following response "Format A" if it successful and with a different message if it is unsuccessful"
And Can I say ""Put some message and mention replytoq(xyz) with the following response "Format B" if it successful and with a different message if it is unsuccessful" |
|
Back to top |
|
 |
vennela |
Posted: Fri Dec 13, 2002 7:36 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
I am not sure if we can do this. May be there is a way but I am not aware of any.
There is also another field called "UserContext". You can use this to send the message data you want instead of CorrelID.
Regarding the Error:
The ResponseRequired allows three values:
1. No
2. IfError
3. Yes
If you only care about the errors then you may set it to "IfError".
---
Venny |
|
Back to top |
|
 |
|