Author |
Message
|
Ratan |
Posted: Fri Jul 19, 2002 9:44 am Post subject: Problem with Arrays |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Hi,
I have a problem handling arrays with workflow.
I have datastructures with arrays defined. When I specify only one element for array specified in the XML input I get an FMC01104E exception. When I have atleast 2 elements I dont have any problem. Does anyone have a solution for such problem. I am working around that problem by including a null element so that the count becomes atleast 2.
<test>
<abc>1<abc>
</test>
This fails if test is defined to have an array of abc.
<test>
<abc>1 </abc>
<abc</abc>
</test>
this works fine.
-thanks Laze. |
|
Back to top |
|
 |
jmac |
Posted: Fri Jul 19, 2002 3:17 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
I am unaware of any way around this. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Ratan |
Posted: Fri Jul 19, 2002 4:41 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Did you ever come across a problem like this?
-Thanx Laze |
|
Back to top |
|
 |
jmac |
Posted: Sat Jul 20, 2002 5:01 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Sure. The only way to know that an item is an array simply by looking at xml is to have at least 2 items specified. If you look in the doc you will see that they indicate an empty array item as <null/>. Different from what you do, so it is possible to parse correctly. Arrays in MQWF aren not rendered in XML in the best way (IMO). Have a look at an Array of Structures if you want to see it get really ugyl _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
manoj |
Posted: Mon Jul 22, 2002 6:45 am Post subject: |
|
|
 Master
Joined: 30 Jan 2002 Posts: 237 Location: Virgina
|
Hi,
We are also using the workaround only (adding an extra element in xml for nested datastructure array if there's single element in the response xml). Probably MQWorkflow XML interface doesn't differentiate between nested datastructure which is an array and nested datastructure(simple). In the xml it all looks the same.
If somebody knows some other way to get around this problem please post.
cheers _________________ -manoj |
|
Back to top |
|
 |
Ratan |
Posted: Thu Aug 01, 2002 11:38 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Ok, My mistake. Workflow mandates to use an empty element in case of arrays with one element to differentiate that it is an array. I found that in Programming Guide - XML interface.
-Laze. |
|
Back to top |
|
 |
kriersd |
Posted: Mon Jun 09, 2003 1:40 pm Post subject: |
|
|
 Master
Joined: 22 Jul 2002 Posts: 209 Location: IA, USA
|
Has anyone ever come accross this error "FMC01104E" on an automatic JOIN / FORK setp. I have a strange problem.
I have one data structure called "MY_Data" and within the "MY_Data" data structure have reference another data structure called "indices" that contains an element called "Name". The "indices" data structure is referenced as a 5 element array within the "MY_Data" data structure. Looks like this:
MY_Data.indices[0].name
MY_Data.indices[1].name
MY_Data.indices[2].name
MY_Data.indices[3].name
MY_Data.indices[4].name
I sometimes get an "FMC01104E Data Memember indices.name of data structure MY_Data not found" Looking at the data structure this is true. The memeber indices.name is not a valid element in the data structrue. It should have referenced this as indices[0].name.
Has anyone else found this to be a problem. I know this problem exist when your sending xml in to create and start the instance, but I have never seen this happen in the mapping form one activity to another activity. _________________ Dave Krier
IBM WebSphere MQ Workflow V3.4 Solution Designer |
|
Back to top |
|
 |
Ratan |
Posted: Mon Jun 09, 2003 1:56 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Are you using the XML interface? My guess is you are getting this when there is only one indices element sent in.
Can you explain in detail how your process is setup and when and where you are getting this problem. _________________ -Ratan |
|
Back to top |
|
 |
jmac |
Posted: Mon Jun 09, 2003 5:25 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Dave:
I agree with Ratan. The most likely cause of this is use of the XML interface and you are only specifying a single value for the nested array.
The solution would be to make sure that you always have XML that looks like this:
Code: |
<MyData>
<indicies>
<name>Dave</name>
</indicies>
<indicies></indicies>
</MyData> |
If you are not using the XML interface, I would think you may have found a bug... post some more detail here and I will see if I can reproduce.
GOOD LUCK _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
kriersd |
Posted: Tue Jun 10, 2003 7:52 am Post subject: |
|
|
 Master
Joined: 22 Jul 2002 Posts: 209 Location: IA, USA
|
Jmac
Ratan
Thanks for the reply. I too have found this problem using when using the XML interface to start a process instance, however, this is a little different. In this case I am seeing the problem after the process is started and moving from activity to activity. I am guessing that it's a problem when we map data to only one of the elements of the array. This is rather strang and a little hard to explain. Let me know if you still have any questions.
Dave _________________ Dave Krier
IBM WebSphere MQ Workflow V3.4 Solution Designer |
|
Back to top |
|
 |
Ratan |
Posted: Tue Jun 10, 2003 8:53 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
it need not be only when you start a process instance. This can also happen when you are sending in a ActivityImplInvokeResponse message. Always make sure you are sending atleast two array elements. _________________ -Ratan |
|
Back to top |
|
 |
jmac |
Posted: Tue Jun 10, 2003 9:07 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Dave:
Again I agree with what Ratan has to say... If your errors are occurring after a UPES activity I would suspect the cause to be that you only have one array element set. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
|