|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
ASBITSTREAM with DFDL, IIB 9.0 |
« View previous topic :: View next topic » |
Author |
Message
|
akil |
Posted: Mon Jul 14, 2014 8:50 am Post subject: ASBITSTREAM with DFDL, IIB 9.0 |
|
|
 Partisan
Joined: 27 May 2014 Posts: 338 Location: Mumbai
|
Hi
As per the info centre, DFDL does not support ForlderBitStream, and this is also mentioned in this post http://www.mqseries.net/phpBB2/viewtopic.php?t=64678&sid=19becb2db97f9c17cdf0061551b7a535.
If this is true, then each of following statements should return the same serialised record
Code: |
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns1:retailCustomer) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns_loan:loanAccount) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns_repay:loanRepayment) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns_disb:loanDisbursement) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
|
So far so good, all the above 4 statements return identical serialised Records, starting with the root node.
However, by just adding one line at the beginning, the serialised record returned by each of the statements is different, starting at the child element. Following is the code snippet (the only difference is the first line)
Code: |
SET OutputRoot.DFDL.ns:gefuRecordFormat.record.ns_loan:loanAccount.cifId = piResult;
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns1:retailCustomer) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns_loan:loanAccount) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns_repay:loanRepayment) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
SET serializedRecord = CAST(ASBITSTREAM(OutputRoot.DFDL.ns:gefuRecordFormat.record.ns_disb:loanDisbursement) AS CHARACTER CCSID InputRoot.Properties.CodedCharSetId);
|
And here's a snippet of the schema
http://www.pinterest.com/pin/133911788895150598/
This is reproducible, I've tried it multiple times with & without the first line, and the results are always the same, is this some bug or is this how the parser is expected to behave ?
I stumbled upon this when I was trying to serialise a large DFDL that is a sequence of 4 big elements. What am I doing wrong?
Regards
Akhilesh _________________ Regards |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jul 14, 2014 11:54 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Good problem description - thanks for that.
It sounds like a defect to me - the result of ASBITSTREAM should depend only on the message tree and ( when DFDL is the domain ) the model. _________________ Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|