Author |
Message
|
paldebojyoti |
Posted: Wed Aug 04, 2004 9:47 pm Post subject: Repeat elements in TDS format. |
|
|
Novice
Joined: 04 Aug 2004 Posts: 10
|
Hi All,
Here I want to convert a TDS message to an XML, I AM USING wmqi2.1. Here '|' is used as a delimiter. When each element of the TDS message is non repeatable then XML message is generated, but the problem is whenever I make any of the elements repeatable it goes to the failure node. Can anybody please help me regarding this?
Thanks in advance.
Deb |
|
Back to top |
|
 |
kimbert |
Posted: Thu Aug 05, 2004 12:35 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
What CSD level are you on?
What do your input messages look like? (an example would be ideal)
If the message goes to the failure terminal, you must be getting BIP error messages. Please post them here ( turn on user trace if you cannot find them in the system event log )
Have you set Repeat to 'Yes' on the repeating field, and have you set the maxOccurs property? |
|
Back to top |
|
 |
paldebojyoti |
Posted: Thu Aug 05, 2004 3:42 am Post subject: Repeat elements in TDS format |
|
|
Novice
Joined: 04 Aug 2004 Posts: 10
|
Hi kimbert,
Thanks. Here are the answers of your queries:
1) TDS : BRD|FLIGHT|DATE|ORG
XML : <XML><EVENT><BRD></BRD><FLIGHT></FLIGHT><DATE></DATE><ORG></ORG></EVENT></XML>
Where ORG is repeatable.
2) ParserException BIP5421S: Tagged Delimited Format parsing error
3) I set Repeat to Yes but didn't set the max Occurs as it is unbounded.
Regards,
Deb |
|
Back to top |
|
 |
kimbert |
Posted: Thu Aug 05, 2004 4:26 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Thanks for the reply:
1. You need to set maxOccurs (on element ORG) to -1 to indicate that it repeats without limit.
2. I assume that the Data Element Separation is 'All Elements Delimited'
3. I think you've missed a few error messages. You should be getting a chain of 3 errors for a parsing error. The one you have quoted is the last one of the chain, and does not really say anything about the problem. Can you look again, and see whether any other errors are there. |
|
Back to top |
|
 |
paldebojyoti |
Posted: Fri Aug 06, 2004 1:18 am Post subject: Repeat elements in TDS format |
|
|
Novice
Joined: 04 Aug 2004 Posts: 10
|
Thanks Kimbert for your help. But I can't set maxOccurs to -1, it gives error. The three exceptions are as follows:
1 BIP2231E: Error detected whilst processing a message
'Message_Set_Name.Compute'. The message broker detected an error whilst processing a message in node 'Message_Set_Name.C
ompute'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further pr
ocessing.
2. ParserException BIP5285E: Message Translation Interface Parsing Errors have occurred:
Message Set Name : Message_Set_Name
Message Set Level : '1'
Message Format : 'TDS'
Message Type Path : 'event'
3. ParserException BIP5421S: Tagged Delimited Format parsing error
Current message : 'event'
Path to current element : '/event'
Offset from start of message : 21
4. ParserException BIP5434S: TDF Parser or Writer internal error
An unexpected internal error occurred during parsing or writing of a TDF message.
Thanks ,
Deb. |
|
Back to top |
|
 |
shanson |
Posted: Thu Aug 12, 2004 2:08 am Post subject: |
|
|
 Partisan
Joined: 17 Oct 2003 Posts: 344 Location: IBM Hursley
|
If you have a delimited message, and you want one of the fields to repeat, you must set the TDS 'repeating element delimiter' property, and further you must ensure that the repeating delimiter is not the same as the normal delimiter.
You say you are on 2.1 - I am not sure that maxOccurs of -1 works in 2.1. Try it with a fixed number of repeats, rather than unbounded, and see if that works first. |
|
Back to top |
|
 |
|