Author |
Message
|
gowdy |
Posted: Fri Jul 20, 2001 1:36 am Post subject: |
|
|
Apprentice
Joined: 17 Jul 2001 Posts: 29 Location: Bournemouth, UK
|
Hi
Again, sorry for the "stupid" question, but I am still relatively new to the MQSeries family. I want to model a process in Workflow that will take a message from a specific MQQueue, do some processing within Workflow and then output it to another MQQueue. The plan is to then have MQSI v2.0.1 pick up the message and do some reformatting and validation on it.
I have created a new Program Execution Server detailing the Queue name and Queue Manager name, but this is as far as I have gotten. I am okay on the input queue to Workflow.
Any assistance would be gratefully appreciated.
Kind regards
Mark Gowdy |
|
Back to top |
|
 |
jmac |
Posted: Fri Jul 20, 2001 8:10 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Mark:
The basics are as follows:
1) To get into MQWF you will need to have some program format a "CreateAndStartInstance" XML message and put it to the proper MQWF queue. By default this would be QM=FMCQM, Q=EXEXMLINPUTQ. Your QM name could be different
2) then your MQWF process would do it's thing and most likely the LAST activity would put out the message that you want onto a the QM/Q of your choice.
There is one other possibility which would be possible, IF your MQWF process was going to complete quickly (i.e. under 60 seconds). This normally would mean that all of the activities would have to be automatic (i.e. no humans involved). If this is the case it is possible to used the ExecuteProcessInstance xml message, and WAIT for a response. The problem with this method is that if the message does not come back in a timely fashion, it will time out.
Good Luck.
_________________ John McDonald
RETIRED |
|
Back to top |
|
 |
gowdy |
Posted: Fri Jul 20, 2001 9:20 am Post subject: |
|
|
Apprentice
Joined: 17 Jul 2001 Posts: 29 Location: Bournemouth, UK
|
Thanks John
I have managed to get the input message sorted out, but it is the output that is getting me stumped. Do I need to create some application to post it onto an MQ queue, or can I just set some parameters to do it. I have looked at the documentation and looked at the help files, but cannot find what I am looking for. Some of the samples use a dll to put the message onto a queue, but I don't want to go there at this stage. All I want to do is post a small XML message onto an MQ queue. Again, any help is much appreciated.
Rgds
Mark Gowdy |
|
Back to top |
|
 |
jmac |
Posted: Sun Jul 22, 2001 5:09 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Mark:
Each UPES Activity will most likely be Synchronous. In which case, it will receive its imput message (in xml format); parse it to access the input container data; perform its required processing; and finally build an xml output message that it will write to the Reply Queue. Be sure that you copy the correlation ID from the input message to the output message.
I agree that the doc is not the best. Do you have the MQSeries TXN pack that has the Workflow samples? There are several of them out on the MQSeries TNX pack site. They are all numbered WAxx I believe, and the descriptions will tell you which ones contain sample code.
Hope this helps
_________________ John McDonald
RETIRED |
|
Back to top |
|
 |
gowdy |
Posted: Thu Jul 26, 2001 8:26 am Post subject: |
|
|
Apprentice
Joined: 17 Jul 2001 Posts: 29 Location: Bournemouth, UK
|
Hi
In case anyone is interested, I finally managed to put a message onto an MQ queue, after processing it through MQSI and Workflow. I am not sure if the procedure I followed is the best practice, but this is what I did.
On the properties for the last Program Activity node in my flow, I unchecked the User Program Execution box and selected the Program Execution Server to be one I had created. This new PES was set to use a specific MQ queue and queue manager.
It all seems a bit too easy, and also a bit slapdash, but did not want to call a program that posted on to a queue.
If anyone has any comments on the validity or otherwise of this approach, I would love to hear from them.
Thanks and regards
Mark Gowdy |
|
Back to top |
|
 |
yoscop |
Posted: Tue Dec 18, 2001 3:04 pm Post subject: |
|
|
Novice
Joined: 17 Dec 2001 Posts: 13
|
I am trying to place an WFMessage onto the queue.Everytime i try i get a "FMC00010E Unknown user ID" Error
I have checked the fdl file and PERSON is set to WFADMIN.In my whole installation i have only two users, ADMIN and WFADMIN. I tried both, but no use.
ANy help would be appreciated.
Regards
yoscop
|
|
Back to top |
|
 |
jmac |
Posted: Wed Dec 19, 2001 9:41 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
I would expect that this is because the logged on user does not have the proper Authority. You will probably need code like the following:
String DEFAULT_MQUSERID = "ADMIN";
MQMessage mqMessage = new MQMessage();
if ( m_strMQUserID == null )
mqMessage.userId = DEFAULT_MQUSERID;
else
mqMessage.userId = m_strMQUserID;
MQPutMessageOptions pmo = new MQPutMessageOptions( );
// The SET_IDENTITY_CONTEXT allows you to specify a userid other than
// the logged on user
pmo.options = MQC.MQPMO_SET_IDENTITY_CONTEXT
Good luck
_________________ John McDonald
RETIRED |
|
Back to top |
|
 |
|