Author |
Message
|
yaakovd_new |
Posted: Sun Feb 17, 2008 10:18 pm Post subject: Urgent: TDS format problem with binary fields and tags |
|
|
Apprentice
Joined: 03 Feb 2004 Posts: 25 Location: Israel
|
Hello
Environment MB 6.1 on WIN XP.
I created tagged delimited Message set, where each line-record is tagged and delimited with <CR><LF>.
Line-record contains tagged delimited fields in format:
[tag][tag-data separator][data][delimiter].
In final MRM I need to parse binare tagged-delimited format, but started wit ASCII.
I put ASCII file into run-time enwironment and it was successfully parsed.
After that I changed tag value from ASCII (900) to binary (X'393030') and got the exception - "Not all the buffer was used when reading message".
Same error I got when I change type of field from String to hexBinary.
Is there any problems with reading binary fields, tags, etc.
Thanks. _________________ _________________
Best regards.
Yaakov Dolgov
E-Business Solutions Consultant
IBM Global Services, Israel
preiger.yaakov@il.ibm.com |
|
Back to top |
|
 |
Gaya3 |
Posted: Sun Feb 17, 2008 10:37 pm Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
|
Back to top |
|
 |
yaakovd_new |
Posted: Mon Feb 18, 2008 1:41 am Post subject: |
|
|
Apprentice
Joined: 03 Feb 2004 Posts: 25 Location: Israel
|
Hi
Thanks for your reply.
I know what is the meaning of this error.
But actually all what I changed is presentation of tag:
from ASCII - 900 to binary X'393030';
I tried x'393030' and changed MQ QMGR CCSID to 1208...
Even I just change type of field from String to hexBinary it failes.
Is TDS able to work with binary tags? or handle hexBinary fields?
Any idea?
Thanks again. _________________ _________________
Best regards.
Yaakov Dolgov
E-Business Solutions Consultant
IBM Global Services, Israel
preiger.yaakov@il.ibm.com |
|
Back to top |
|
 |
kimbert |
Posted: Mon Feb 18, 2008 4:33 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
got the exception - "Not all the buffer was used when reading message". |
That is BIP5288 - it's always worth quoting the number when reporting error messages on this forum.
I can't see anything obviously wrong with your approach. Your message style should be supported by the v6.1 TDS parser. Next step is to take a user trace. This is especially useful when diagnosing v6.1 TDS problems because the parser emits user trace messages about tags, delimiters and other markup while parsing. |
|
Back to top |
|
 |
yaakovd_new |
Posted: Tue Feb 19, 2008 2:12 am Post subject: |
|
|
Apprentice
Joined: 03 Feb 2004 Posts: 25 Location: Israel
|
Again...
My message is >900:1#>100:as1dfa#>200:ads2fe#>400:ss4qf#>300:ad3fs#
>900:1#>100:asd1fa#>200:ads2fe#>300:ad3fs#>400:ssd4qf#
>900:1#>100:asd1fa#>200:tra2tak#>300:ad3fs#>400:ss4dqf#
It working fine when it define like as folowing:
File: Taged delimited, Delimiter <CR><LF>, Group Terminator <CR><LF>
----> Line (1,-1) Taged Delimited, Group indicator >, Delimiter #, Group terminator #, Data Tag separator :.
I started to "play" with Group indicator > - it also working, when I set it to <GT>. But failed when I'm trying to use hexa-value x'3e' (also X'3E'/x'3E'/X'3e')... In debug mode I can see '3e'... _________________ _________________
Best regards.
Yaakov Dolgov
E-Business Solutions Consultant
IBM Global Services, Israel
preiger.yaakov@il.ibm.com |
|
Back to top |
|
 |
kimbert |
Posted: Tue Feb 19, 2008 2:54 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Again...
Quote: |
Next step is to take a user trace |
|
|
Back to top |
|
 |
yaakovd_new |
Posted: Tue Feb 19, 2008 8:20 pm Post subject: |
|
|
Apprentice
Joined: 03 Feb 2004 Posts: 25 Location: Israel
|
Nothing special in user-trace
Code: |
2008-02-19 16:17:27.105131 3112 UserTrace BIP3907I: Message received and propagated to ''out'' terminal of input node ''SingleFileParsing.ReadingBinaryFile''.
2008-02-19 16:17:27.105203 3112 UserTrace BIP6063I: A parser of type ''Properties'' was created on behalf of node 'SingleFileParsing.ReadingBinaryFile' to handle the input stream, beginning at offset '0'.
2008-02-19 16:17:27.105289 3112 UserTrace BIP6061I: Parser type ''BLOB'' created on behalf of node 'SingleFileParsing.ReadingBinaryFile' to handle portion of incoming message of length '168' bytes beginning at offset '0'. Parser type selected based on value ''NONE'' from previous parser.
2008-02-19 16:17:27.172967 3112 UserTrace BIP2231E: Error detected whilst processing a message in node 'SingleFileParsing.ReadingBinaryFile'.
The message broker detected an error whilst processing a message in node 'SingleFileParsing.ReadingBinaryFile'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.
2008-02-19 16:17:27.172994 3112 RecoverableException BIP2230E: Error detected whilst processing a message in node 'SingleFileParsing.ResetContentDescriptor'.
The message broker detected an error whilst processing a message in node 'SingleFileParsing.ResetContentDescriptor'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2008-02-19 16:17:27.173006 3112 ParserException BIP5285E: Parsing errors have occurred.
Message set name: 'IDEA_Jataayu'
Message format: 'TDS_RAW'
Message type path: '/cdrFile'
Review other error messages to find the cause of the errors.
2008-02-19 16:17:27.173017 3112 ParserException BIP5421S: Tagged/Delimited String Format (TDS) parsing error
Current message : ''cdrFile''
Path to current element : ''/cdrFile''
Offset from start of message : 0
See following errors for more details.
2008-02-19 16:17:27.173034 3112 ParserException BIP5288E: An MRM parsing error has occurred. The bit stream of the message being parsed by the MRM parser is larger than expected for a message of this type.
Number of bytes parsed: 0
Actual length of message: 168
When parsing the instance message according to the message model, the parser reached the end of the message definition before it reached the end of the bit stream. Either the message bit stream has been incorrectly constructed, or the message model is incorrect.
Ensure that the message bit stream is correctly formed.
Ensure that the message properties (name, physical format, message set) are correct.
Ensure that the message model for this message type is correct. In particular, check that the element lengths and number of repeats are correct. You should find the message set and message type quoted in other error messages.
If this is a TDS message, enable user trace (debug level) and parse the message. In the trace file check the messages issued by the TDS parser to find the problem.
2008-02-19 16:17:27.173358 3112 UserTrace BIP2638I: The MQ output node 'SingleFileParsing.FILE.FAILED' attempted to write a message to queue ''FILE.FAILED'' connected to queue manager ''''. The MQCC was '0' and the MQRC was '0'.
2008-02-19 16:17:27.173374 3112 UserTrace BIP2622I: Message successfully output by output node 'SingleFileParsing.FILE.FAILED' to queue ''FILE.FAILED'' on queue manager ''''.
Threads encountered in this trace:
3112 8416
|
_________________ _________________
Best regards.
Yaakov Dolgov
E-Business Solutions Consultant
IBM Global Services, Israel
preiger.yaakov@il.ibm.com |
|
Back to top |
|
 |
kimbert |
Posted: Wed Feb 20, 2008 1:54 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
Nothing special in user-trace |
Not so sure about that. I don't see any messages stating that the Group Indicator has been matched ( or that anything else has been matched, for that matter ). And the parser has terminated after parsing 0 bytes. Both of those facts indicate that it is failing to match the leading Group Indicator ( > ).
Quote: |
I started to "play" with Group indicator > - it also working, when I set it to <GT> |
That's expected : <GT> is simply another way of saying '>'. So no 'binary' issues there.
Quote: |
But failed when I'm trying to use hexa-value x'3e' (also X'3E'/x'3E'/X'3e') |
Why are you not using <0x3E> as specified here? : http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/topic/com.ibm.etools.mft.doc/ad09270_.htm |
|
Back to top |
|
 |
yaakovd_new |
Posted: Wed Feb 20, 2008 6:46 am Post subject: |
|
|
Apprentice
Joined: 03 Feb 2004 Posts: 25 Location: Israel
|
Hi
when defined in <0xff> format it working for all delimiters binary and ASCII as well.
Thanks a lot  _________________ _________________
Best regards.
Yaakov Dolgov
E-Business Solutions Consultant
IBM Global Services, Israel
preiger.yaakov@il.ibm.com |
|
Back to top |
|
 |
|