Author |
Message
|
jose |
Posted: Thu Jun 05, 2008 9:24 am Post subject: Problem with parsing (messageSet) configuration |
|
|
Newbie
Joined: 05 Jun 2008 Posts: 5
|
Hi all,
I have a problem with the messageSet configuration on RestContentDescriptor node.
This is the messageSet structure I want to parse into the MRM domain:
Header = Identifier Header field [H] + other fields = 128 Chars
Detail = Identifier Detail field [D] + other fields = 128 Chars
Footer = Identifier Footer field [F]+ other fields = 128 Chars
All the records are fixed length delimited, Header and footer record just occur once but the number of records for details is unbounded; all records are separated by CR/LF.
How can I setup up the Message set properties for parser this kind of structure? The idea is to use the field identifier to match each kind of record, I have tried use patterns to do this, also group indicators however I couldn't parser the input message.
Main problem is to split all records inside each category and group all details records at the same time just considering the record identifier.
Thanks in advance |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jun 05, 2008 10:00 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
This is classic Tagged/Fixed Length. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
kimbert |
Posted: Thu Jun 05, 2008 1:17 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Jeff's correct. Set the outermost complex type to Tagged Fixed Length. Set the Tag length to 1. Create elements' Header', 'Detail' and 'Footer' and set the Tag for each one. On Detail, set maxOccurs to -1.
That should just work. If it doesn't, please disconnect the debugger, take a user trace and read the diagnostic messages from the TDS parser..
. |
|
Back to top |
|
 |
jose |
Posted: Thu Jun 05, 2008 10:38 pm Post subject: |
|
|
Newbie
Joined: 05 Jun 2008 Posts: 5
|
I already has it as Tagged/Fixed Length, 'Details' occurs is set 1 : -1, and Tag Length is 1 too, but the problem is not resolved...
My doubt is where I have to set that 'Details' records has a 'D' as first char? Because if i don't set it, the last record (Footer) will be parsed as Detail record...
I have fixed <CR><LF> as Group Terminator for each Header, Details and Footer record in messageSet properties, and I need something like a Group Indicator H, D or F in each record case...but if I try to set it, it doesn't work.
My input is i.e:
H8AJSD...08JAODIN (128 CHAR and <CR><LF> at the end)
D9AYSD...90A8USDP (128 CHAR and <CR><LF> at the end)
DAS08U...0A98SDHJ (128 CHAR and <CR><LF> at the end)
...
DPZISJP...AS9UHP9 (128 CHAR and <CR><LF> at the end)
F90A8SH...98HAE9PU (128 CHAR and <CR><LF> at the end)
Thanks in advance again! |
|
Back to top |
|
 |
jose |
Posted: Thu Jun 05, 2008 10:49 pm Post subject: |
|
|
Newbie
Joined: 05 Jun 2008 Posts: 5
|
I have the more problems with Group Indicator H,D and F. Why is it still parsing me the last record if the Indentifier field is not a 'D'?:
Input:
H8AJSD...08JAODIN (128 CHAR and <CR><LF> at the end)
DJAYSD...90A8USDP (128 CHAR and <CR><LF> at the end)
DAS08U...0A98SDHJ (128 CHAR and <CR><LF> at the end)
...
DPZISJP...AS9UHP9 (128 CHAR and <CR><LF> at the end)
F90A8SH...98HAE9PU (128 CHAR and <CR><LF> at the end)
Output:
DJAYSD...90A8USDP (128 CHAR and <CR><LF> at the end)
DAS08U...0A98SDHJ (128 CHAR and <CR><LF> at the end)
...
DPZISJP...AS9UHP9 (128 CHAR and <CR><LF> at the end)
F90A8SH...98HAE9PU (128 CHAR and <CR><LF> at the end)
I don't need the last record...Why is it parsed as a Detail record?
Thanks! |
|
Back to top |
|
 |
kimbert |
Posted: Fri Jun 06, 2008 12:34 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
My doubt is where I have to set that 'Details' records has a 'D' as first char? |
Set the Tag property on the element. |
|
Back to top |
|
 |
jose |
Posted: Fri Jun 06, 2008 1:04 am Post subject: |
|
|
Newbie
Joined: 05 Jun 2008 Posts: 5
|
It's already set there, but it doesn't work.
I already tried with Tag properties of first 'Details' field and with Group Indicator of 'Details' Complex Type, and neither works... Have more ideas?
Thank you![/img] |
|
Back to top |
|
 |
kimbert |
Posted: Fri Jun 06, 2008 1:55 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
What kind of 'it doesn't work'?
Did you set the Tag for Header and Trailer as well?
Which version are you using? |
|
Back to top |
|
 |
jose |
Posted: Fri Jun 06, 2008 2:21 am Post subject: |
|
|
Newbie
Joined: 05 Jun 2008 Posts: 5
|
Yes, all properties are set as you tell me...The problem is like Tagged/Fixed Length doesn't work.
The parser know that when he detect a 128 char and RC/FL, begins a new record, so the Header record is parsed like I want (but I don't need this record really), and the next record should be parsed only if the first character is a 'D', but he parsed all records although their first character aren't a 'D'. Then, I obtain all record from 2nd to the end parsed like a Detail records, independently of his value...
These are the Complex Type properties, also I have tried with Group Indicator = R...
These are the Detail field properties, also I have tried changing the structure: 1 identifier field (1 char length) + 1 data field (127 char length), but I can't do it successfully...
My WMB Toolkit version:
Version: 6.1.0
Build id: 6.1.0-20071108_1112
Thanks![/img] |
|
Back to top |
|
 |
kimbert |
Posted: Fri Jun 06, 2008 4:57 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
The problem is like Tagged/Fixed Length doesn't work. |
- Why is the 'Tag' field set to 'R'? I thought the first character of the Details record was a 'D'.
- The Length field is giving the length of the element. The element length does not include its tag, and does not include the CR/LF.
You still have not stated version and fix pack you are on. Please do that now - it may help me to help you. |
|
Back to top |
|
 |
broker_new |
Posted: Fri Jun 06, 2008 7:14 am Post subject: |
|
|
 Yatiri
Joined: 30 Nov 2006 Posts: 614 Location: Washington DC
|
I had this issue once iam on WMB 6.0.3.
Sometimes it doesn't pick <LF><CR>.
I searched for the Unicodes for <LF> and <CR> and palced it.
Worked fine for me. _________________ IBM ->Let's build a smarter planet |
|
Back to top |
|
 |
|