ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Character parsing into junk data

Post new topic  Reply to topic Goto page 1, 2  Next
 Character parsing into junk data « View previous topic :: View next topic » 
Author Message
Veera B
PostPosted: Mon Jan 21, 2013 12:06 am    Post subject: Character parsing into junk data Reply with quote

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
View user's profile Send private message
kash3338
PostPosted: Mon Jan 21, 2013 12:15 am    Post subject: Re: Character parsing into junk data Reply with quote

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
View user's profile Send private message Send e-mail
Veera B
PostPosted: Mon Jan 21, 2013 12:25 am    Post subject: Reply with quote

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
View user's profile Send private message
kimbert
PostPosted: Mon Jan 21, 2013 3:30 am    Post subject: Reply with quote

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
View user's profile Send private message
kash3338
PostPosted: Mon Jan 21, 2013 4:46 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Veera B
PostPosted: Mon Jan 21, 2013 5:26 pm    Post subject: posting details Reply with quote

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
View user's profile Send private message
kash3338
PostPosted: Mon Jan 21, 2013 6:46 pm    Post subject: Re: posting details Reply with quote

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
View user's profile Send private message Send e-mail
Veera B
PostPosted: Mon Jan 21, 2013 8:16 pm    Post subject: Reply with quote

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
View user's profile Send private message
kimbert
PostPosted: Tue Jan 22, 2013 1:26 am    Post subject: Reply with quote

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
View user's profile Send private message
joebuckeye
PostPosted: Tue Jan 22, 2013 7:45 am    Post subject: Reply with quote

Partisan

Joined: 24 Aug 2007
Posts: 364
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
View user's profile Send private message
lancelotlinc
PostPosted: Tue Jan 22, 2013 8:31 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Veera B
PostPosted: Tue Jan 22, 2013 5:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Tue Jan 22, 2013 8:37 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
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
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Wed Jan 23, 2013 1:57 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Broker Express Edition does not include the Compute node.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Wed Jan 23, 2013 5:39 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Character parsing into junk data
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.