Author |
Message
|
Veera B |
Posted: Mon Jan 21, 2013 12:06 am Post subject: Character parsing into junk data |
|
|
Voyager
Joined: 16 Jan 2013 Posts: 76
|
Hi All,
I am having a scenario where a field defined as character in message set is getting transformed into junk data after parsing. ( No parsing error )
There are few more fields after this field which does not take junk value but get proper values after parsing, all the properties in the message set are same for these 2 fields, but getting parsed differently.
Please share some knowledge on this. |
|
Back to top |
|
 |
kash3338 |
Posted: Mon Jan 21, 2013 12:15 am Post subject: Re: Character parsing into junk data |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
Veera B wrote: |
Hi All,
I am having a scenario where a field defined as character in message set is getting transformed into junk data after parsing. ( No parsing error )
There are few more fields after this field which does not take junk value but get proper values after parsing, all the properties in the message set are same for these 2 fields, but getting parsed differently.
Please share some knowledge on this. |
What is the CCSID of the message coming in? What are the fields you are talking about, that can give a better picture of why it is happening that way. |
|
Back to top |
|
 |
Veera B |
Posted: Mon Jan 21, 2013 12:25 am Post subject: |
|
|
Voyager
Joined: 16 Jan 2013 Posts: 76
|
HI Kash3338,
The CCSID of the incoming message is 1208, but later it is changed to 500.
the fields i am talking about are , reclenght, Trnxdate, trnxtime. all these 3 field are fixed lenght strings defined in msgset.
the reclength takes junk data after parsing, but the subsequent fields trnsdate and trnxtime take what ever is coming in correctly. |
|
Back to top |
|
 |
kimbert |
Posted: Mon Jan 21, 2013 3:30 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Please post an example of your data, and give some details about the physical format settings for the reclength field. |
|
Back to top |
|
 |
kash3338 |
Posted: Mon Jan 21, 2013 4:46 am Post subject: |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
Veera B wrote: |
The CCSID of the incoming message is 1208, but later it is changed to 500. |
When is it 1208 and when is it changed to 500?
Veera B wrote: |
the reclength takes junk data after parsing, but the subsequent fields trnsdate and trnxtime take what ever is coming in correctly. |
Can you try CASTing the reclength to CHAR using the InputRoot properties CCSID and ENCODING in your compute node? Also it would be better if you can provide the details asked by kimbert. |
|
Back to top |
|
 |
Veera B |
Posted: Mon Jan 21, 2013 5:26 pm Post subject: posting details |
|
|
Voyager
Joined: 16 Jan 2013 Posts: 76
|
Hi Kimbert/Kash3338,
Posting few details and elaborating on the scenario, pfb some part of the message.
<EAIWSExtTrxnCd xmlns="">REAI1045</EAIWSExtTrxnCd>
<EAIWSDplName xmlns=""> </EAIWSDplName>
<EAIWSReclen xmlns="">7500</EAIWSReclen>
<EAIWSNoOfRec xmlns=""> </EAIWSNoOfRec>
<EAIWSTrxnDate xmlns="">20121030</EAIWSTrxnDate>
<EAIWSTrxnTime xmlns="">190228 </EAIWSTrxnTime>
the Mflow recieves a soap message using soap input ( Enc : 546 CCSID : 1208 ), after mapping the request it is changed to blob using RCD node and then passed through a java compute node to send it to another Mflow using MQ queues.
Once the transformed msg is recieved into another Mflow( Enc : 785 CCSID : 500 ) the Reclength field has junk data which cannot be used.
the physical properties of the RecLength field in Mset are : -
Physical Type :- Fixed Length string
Length unit :- Bytes
Justification :- Right Justify
Padding :- SPACE
Also if i try to retain the initial Encding and CCSID i get an error in the 2nd Mflow input ( CPI Converter Input Data Invalid ) |
|
Back to top |
|
 |
kash3338 |
Posted: Mon Jan 21, 2013 6:46 pm Post subject: Re: posting details |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
Veera B wrote: |
the Mflow recieves a soap message using soap input ( Enc : 546 CCSID : 1208 ), after mapping the request it is changed to blob using RCD node and then passed through a java compute node to send it to another Mflow using MQ queues.
Once the transformed msg is recieved into another Mflow( Enc : 785 CCSID : 500 ) the Reclength field has junk data which cannot be used.
|
What does the JCN do with the BLOB message?
Why do you change the CCSID and ENCODING before you send to the next flow? Send the message to the next flow with the same CCSID and Encoding.
Is this the XML that goes to the second flow? |
|
Back to top |
|
 |
Veera B |
Posted: Mon Jan 21, 2013 8:16 pm Post subject: |
|
|
Voyager
Joined: 16 Jan 2013 Posts: 76
|
The JCN sends it to Req queue and waits for response on the res queue.
Its an existing Mflow so i cant make much changes, but i have tried with out changing the Encoding and CCSID, then i get an error CPI Converter Input Data Invalid
Yes, this is the XML that goes to the 2nd flow |
|
Back to top |
|
 |
kimbert |
Posted: Tue Jan 22, 2013 1:26 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
I suspect that one of the following is true:
- the JCN is writing the reclength field in a different format from the other two fields
- the message set definition of the reclength field is not the same as for the other two fields.
Do you have access to the Java source code that the JCN is using to write the message? That is where I would begin. |
|
Back to top |
|
 |
joebuckeye |
Posted: Tue Jan 22, 2013 7:45 am Post subject: |
|
|
 Partisan
Joined: 24 Aug 2007 Posts: 365 Location: Columbus, OH
|
Veera B wrote: |
The JCN sends it to Req queue and waits for response on the res queue. |
Are you saying the JCN code is itself making MQ API calls?
That is a big no-no here. The broker has MQ input/output nodes when you need to use MQ. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Jan 22, 2013 8:31 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
joebuckeye wrote: |
Veera B wrote: |
The JCN sends it to Req queue and waits for response on the res queue. |
Are you saying the JCN code is itself making MQ API calls?
That is a big no-no here. The broker has MQ input/output nodes when you need to use MQ. |
I can attest to this result first hand, eventually, the connection handles will be fully consumed if your message rate is any where near several messages per second. The MQ nodes properly coordinate the connection pool whereas the Java api is not as efficient at managing the connection pool. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Veera B |
Posted: Tue Jan 22, 2013 5:14 pm Post subject: |
|
|
Voyager
Joined: 16 Jan 2013 Posts: 76
|
kimbert wrote: |
I suspect that one of the following is true:
- the JCN is writing the reclength field in a different format from the other two fields
- the message set definition of the reclength field is not the same as for the other two fields.
Do you have access to the Java source code that the JCN is using to write the message? That is where I would begin. |
Thank you Kimbert, The msg set properties for all the three fields are same... but will try to change few things in JCN and see.
lancelotlinc wrote: |
I can attest to this result first hand, eventually, the connection handles will be fully consumed if your message rate is any where near several messages per second. The MQ nodes properly coordinate the connection pool whereas the Java api is not as efficient at managing the connection pool. |
I am not a fan of JCN , i always try to ignore it while designing New msgflows, as there are many alternatives.
But just a thought, is there any scenario where we would have to consider Java compute node instead of the Compute node ? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jan 22, 2013 8:37 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Veera B wrote: |
But just a thought, is there any scenario where we would have to consider Java compute node instead of the Compute node ? |
When you need to access the configurable services values from within the flow using the broker admin API  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jan 23, 2013 1:57 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Broker Express Edition does not include the Compute node. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Jan 23, 2013 5:39 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Veera B wrote: |
I am not a fan of JCN , i always try to ignore it while designing New msgflows, as there are many alternatives. |
Ignoring a particular node is just, well, ignorant.
Java Compute Node is a viable transformation node and your ignoring the existence of the node is not rational. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
|