ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Using the XML Input Queue

Post new topic  Reply to topic
 Using the XML Input Queue « View previous topic :: View next topic » 
Author Message
RJoubert
PostPosted: Tue Jun 04, 2002 3:44 am    Post subject: Using the XML Input Queue Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

We have successfully employed the EXEXMLINPUTQ to accept XML messages and automatically create Workflow Instances. This is a great tool to use as it saves us busy programmers a lot of work. I do, however, have a few questions regarding the use of this mechanism.

First, what would happen if the XML message has more data elements than the specified data container can accept? Does it fail to create instances? Does it blow up?

Second, what else can be done using the XML Queue mechanism? I know that it can create instances and create & start instances...anything else?

Lastly, if my data structure contains an array element, how do I represent that in the XML message?

Thanks in advance for any help.
Rich
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
RJoubert
PostPosted: Tue Jun 04, 2002 5:29 am    Post subject: Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

Ok, I've done some testing and answered one of my own questions. If the XML message contains data elements that are not defined in the data container, the instances are not created. Therefore, any data passed in via the XML message must be defined.
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
RJoubert
PostPosted: Tue Jun 04, 2002 6:02 am    Post subject: Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

I've done some more research and testing, and I've answered the last question. I have a custom data structure which contains 3 elements. Then, in my main data container, I have an array of this custom data structure defined. To represent this in XML, I have to repeat the data structure as many times as necessary.

For example,

<DataStructure>
<Field1>Test</Field1>
<Field2>Test</Field2>
<CustomDataStructure>
<SubField1>Test</SubField1>
<SubField2>Test</SubField2>
<SubField3>Test</SubField3>
</CustomDataStructure>
<CustomDataStructure>
<SubField1>Test</SubField1>
<SubField2>Test</SubField2>
<SubField3>Test</SubField3>
</CustomDataStructure>
<CustomDataStructure>
<SubField1>Test</SubField1>
<SubField2>Test</SubField2>
<SubField3>Test</SubField3>
</CustomDataStructure>
</DataStructure>

So, all I need to know now is what else can the XML mechanism be used for? I know that I can create instances and create & start instances.
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
jmac
PostPosted: Tue Jun 04, 2002 10:14 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Rich:

When you start an instance if you specify a ResponseRequired YES then you will get a message back from MQWF indicating what any problems encountered were. In order to do this you have to set in the MQ header the ReplyToQMgr and ReplyToQueue.

As far as other XML messages, it depends on your MQWF version. with V330, the only other XML messages are for UPES activities (activity invoked, program terminated, activity expired).

With V332, there are now other Process Control messages including: TerminateInstance, SuspendInstance, ResumeInstance, etc.

The only thing I would add to what you've stated regarding arrays in XML is that if an array element is missing I.e you have values for a[0], a[2], it is specified as null:

<A>value of a[0]</A>
<A><null/></A>
<A>value of a[2]</A>
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
RJoubert
PostPosted: Tue Jun 04, 2002 10:22 am    Post subject: Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

Thanks for the feedback John. Regarding the other process control messages (terminateinstance, suspendinstance, resumeinstance)...could you expand on the etc? Do you have a complete list, or do you know where I might find a complete list?

Thanks.
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
RJoubert
PostPosted: Tue Jun 04, 2002 12:42 pm    Post subject: Another problem with XML Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

We are attempting to create and start instances using the XML input Queue in MQ Series. It was working at one point, but after a few minor changes to our buildtime model (none of which we thought would affect the XML portion), we are not getting successful creation of workflow instances. We are now getting a "FMCSYS: FMC00119E Not Authorized" error message for each instance creation attempt. Any thoughts? Suggestions?

Thanks.
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
jmac
PostPosted: Tue Jun 04, 2002 2:08 pm    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Rich:

This error is an indication that the UserId being used for the start is not authorized to the Process Category assigned to the Process Template.
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
RJoubert
PostPosted: Wed Jun 05, 2002 4:33 am    Post subject: Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

I'm not exactly sure what you mean by the "UserId being used for the start", but I can tell you that we log into MQWF Runtime as ADMIN to get the PEA running before running our dumping our XML messages onto the EXEXMLINPUTQ...And we have not changed anything about the ADMIN user in Buildtime.
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
RJoubert
PostPosted: Wed Jun 05, 2002 4:53 am    Post subject: Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

FYI...the big change that was made in Buildtime was that our process model used to have two layers (one main diagram with a block activity). It now has three layers (one main diagram with a block activity...the block activity has another block activity nested within it). Before we added the additional layer, everything seemed to work just fine. Could this be causing any problems?
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
jmac
PostPosted: Wed Jun 05, 2002 5:14 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Rich:

You do not need to logon to MQWF in order to issue the CreateAndStartProcessInstance XML message, however, the userid that is associated with the XML message will be assigned as the Process Starter and as such must be authorized to the Process Category. What is the userid that is assoicaited with the program issuing the MQPut to the EXEXMLINPUTQ?

Changing the number of levels in Buildtime can not have the affect you are indicating in my opinion. Just about the only Buildtime change that could cause this would be to assigne the Template to a process category to which the starter is not authorized.
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
RJoubert
PostPosted: Wed Jun 05, 2002 5:23 am    Post subject: Reply with quote

Apprentice

Joined: 30 May 2002
Posts: 43
Location: Buffalo, NY

The reason we were starting MQWF runtime (logging in as ADMIN) is that we have an automated step (runs unattended) at the beginning of our process, and we want that run as the instances are created and started.

We are currently not specifying a process starter in the XML message itself. Should we do this? What happens if a starter is not specified?

Thanks again for your help.
_________________
Rich Joubert
Computer Systems Engineer
Univera HealthCare, an Excellus Company
Back to top
View user's profile Send private message
jmac
PostPosted: Wed Jun 05, 2002 10:13 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Rich:

As I understand this, the logged on user at the time the MQPut is done becomes the starter.

If say the logged on user is USER1 who is authorized to use MQ, but not authorized to the Process Category you would need code like this to set the put options:

Code:
     MQMessage mqMessage = new MQMessage();
     mqMessage.userId = "ADMIN";  // or any other MQWF userid authorized to the category

      MQPutMessageOptions pmo = new MQPutMessageOptions( );
      pmo.options = MQC.MQPMO_SET_IDENTITY_CONTEXT;

_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Using the XML Input Queue
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.