Author |
Message
|
jmeier |
Posted: Mon Mar 03, 2003 2:09 pm Post subject: Attempting to start a Process Instance - Error FMC00010E |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
I have a VB application that needs to start a Workflow process instance. I am receiving an FMC00010E error message. I have been told that I need to set the UserIdentifier to a value. I have been trying to find a way to set this value, and have been unsuccessfull. Has anyone had to do this using VB, or any other language? I have looked at Cobol and Java code, but haven't been lucky yet! Any help is appreciated. Thanks in advance for any guidance anyone can give me. _________________ Joe Meier |
|
Back to top |
|
 |
vennela |
Posted: Mon Mar 03, 2003 2:15 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
There is a program in the software repository that does this, but it's in JAVA.
ProcessTemplateCreateAndStartInstance.java
ALSO:
Using the search button above search for "FMC00010E". You will get a bunch.
-------
Venny |
|
Back to top |
|
 |
Ratan |
Posted: Mon Mar 03, 2003 2:19 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
I suppose you are using the XML interface. The userIdentifier is the UserIdentifier in the MQMD field you use to put the Message in the queue. You are probably not having this user defined in your workflow Runtime DB which is causing the failure.
-Laze |
|
Back to top |
|
 |
jmeier |
Posted: Tue Mar 04, 2003 9:21 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
This is correct - we are using the XML interface. I am trying to figure out how to put the value in the MQMD field and so far I have not come across the correct way of filling it and sending it with the message. _________________ Joe Meier |
|
Back to top |
|
 |
Ratan |
Posted: Tue Mar 04, 2003 9:35 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
I am not sure of how to set the MQMD UserID with VB. But I can suggest a way for you to see if the whole setup is working.
>Check the MQMD UserID of the message you put in the queue. You can use the 'q' program for this. ("q -iInputQueue -b -dd3"). 'q' program is a support pac. Alternatively if you are on Windows you can use the MQ Explorer.
> Add this UserId to your Workflow Runtime.
This will solve your problem.
-Laze. |
|
Back to top |
|
 |
jmeier |
Posted: Tue Mar 04, 2003 9:54 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
I am trying to start a process instance using the EXEXMLINPUTQ. I have been dumping the message to another queue so that I can take a look at it. The User ID is in the Workflow system. The User ID on the message seems to be set in the queue properties and this is what is displaying. I just need to figure out how to set the value. When I look at the message is User Id the same as User_Identifier?
Thanks for all your help!! _________________ Joe Meier |
|
Back to top |
|
 |
Ratan |
Posted: Tue Mar 04, 2003 10:22 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
jmeier wrote: |
When I look at the message is User Id the same as User_Identifier?
|
I believe so. Is this UserID defined in your workflow runtime database. If so you should not be getting that error.
-Laze |
|
Back to top |
|
 |
vennela |
Posted: Tue Mar 04, 2003 11:24 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
I am anything but a VB programmer.
The concept I think is as follows.
Open the Queue with openOptions = MQOO_OUTPUT | MQOO_FAIL_IF_QUIESCING | MQOO_SET_IDENTITY_CONTEXT
In the MQMD set UserIdentifier to whatever Workflow user you want to set it to. For example if yo have defined an MQWF user called WFUSER then set this to
MQMD.UserIdentifier = "WFUSER"
If you still have problems this is the java code. Post it in API Support forum and somebody may translate that to you
Code: |
int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING |
MQC.MQOO_SET_IDENTITY_CONTEXT;
MQQueue queue = qmgr.accessQueue(UPESQueue, openOptions,
null, null, "ADMIN");
MQMessage inMsg = new MQMessage();
inMsg.userId = "WFUSER";
inMsg.writeString("YOUR XML MESSAGE");
MQPutMessageOptions pmo = new MQPutMessageOptions();
pmo.options = MQC.MQPMO_SET_IDENTITY_CONTEXT;
queue.put(inMsg, pmo);
|
Quote: |
The User ID on the message seems to be set in the queue properties and this is what is displaying |
There is no such thing in the queue properties called user-id.
The user-id of the message if is not set explicitly then the user-id under which the program is running is set (this usually is the OS level user name under which you have logged on). |
|
Back to top |
|
 |
Ratan |
Posted: Tue Mar 04, 2003 12:01 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Venny,
Quote: |
The user-id of the message if is not set explicitly then the user-id under which the program is running is set (this usually is the OS level user name under which you have logged on). |
Can I safely assume that in that case, if that user(the userId under which the program is running) is defined in WF then the error described should not be occuring?
-Laze |
|
Back to top |
|
 |
jmac |
Posted: Tue Mar 04, 2003 1:53 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Laze:
That certainly is my understanding based on past use. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
vennela |
Posted: Tue Mar 04, 2003 2:26 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
In most cases yes. But it really depends on how you are running your application.
If the app is client connecting to put the message then there are some if conditions. Look at Kolban's reply in the end of this this thread.
http://www.mqseries.net/phpBB2/viewtopic.php?t=7825
But if I run the app local to the Server (which is what I do mostly... atleast when it comes to putting a message to EXEXMLINPUTQ) then the OS user-id under which the app is running is picked up (if you don't explicitly set it). Maybe there are some other possibilites on what the user-id is set to...
But all we should be worried about to is what the message's user-id is when it landed up on XMLINPUTQ and go backwards tracing how it was set |
|
Back to top |
|
 |
Ratan |
Posted: Tue Mar 04, 2003 2:33 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Thanks Venny.
I dont really care how it was set. My point was whichever way the MQMD USERID is set, if that user was defined in workflow runtime db, JOE shouldnot be gettng that error.
-Laze |
|
Back to top |
|
 |
vennela |
Posted: Tue Mar 04, 2003 3:06 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
The user-id should
1. be definitely in the RT DB
2. Should have proper authorizations
Even if it's defined in MQWF and if it doesn't have the authorizations then you will still get the error.
Maybe a different error but the process wouldn't definitely start.
-------
Venny |
|
Back to top |
|
 |
Ratan |
Posted: Tue Mar 04, 2003 3:19 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
yes, you are right. If the user is not Authorized he should be getting FMC00119E. -Laze |
|
Back to top |
|
 |
jmeier |
Posted: Wed Mar 05, 2003 6:27 am Post subject: |
|
|
Apprentice
Joined: 30 Aug 2002 Posts: 46 Location: Minneapolis
|
Folks...
Thanks for all the good advice so far. What I am trying to do is find out how to set the user_identifier by using the MQAX200.dll in VB. I have spent yesterday trying numerous things but to no avail! I have pounded my head so much I had to have stitches last night, not to mention that I now need a new monitor If anyone has any ideas on using this dll and setting the MQMD fields it would great!!! _________________ Joe Meier |
|
Back to top |
|
 |
|