Author |
Message
|
kkr |
Posted: Fri Mar 05, 2010 6:56 pm Post subject: message payload getting altered |
|
|
Novice
Joined: 17 Dec 2009 Posts: 15
|
Hi,
We are sending message from a windows server(running on MQ7.0.1) to a Solaris(Mq 6.0.2.4) using a java program which puts msg to a remote q which is pointing to broker flow q.The set up is clustered.
However, when a message is being sent with its payload containing a value as '00000000000001.000' it is being received as '00000000000001.00' with the last 0 getting stipped.
Browsed the sys clus xmitq at sending side by stopping the chl and found that the data is '00000000000001.000' but its being received with the 0 getting stripped at the other end
Any thoughts on where this manipulation of data is happenning
Thanks in advance |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Mar 05, 2010 7:51 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Are you saying that when the message arrives in the destination queue, the trailing zero is not in the data? Or are you saying that the consuming application displays the data with the trailing zero missing? Which? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
kkr |
Posted: Fri Mar 05, 2010 7:55 pm Post subject: |
|
|
Novice
Joined: 17 Dec 2009 Posts: 15
|
Quote: |
Are you saying that when the message arrives in the destination queue, the trailing zero is not in the data? Or are you saying that the consuming application displays the data with the trailing zero missing? Which? |
Yes,when the message arrives at the destination,the trailing zero is getting eliminated. |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Mar 05, 2010 8:06 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Odd behavior...
Anything else in the application data that appears to be changed/different?
What about the data in the field immediately to the right of the field that is misbehaving? Has it changed?
Are other messages having the same symptom?
Is it just messages where the low-order digit is zero? Do one's get dropped, too?
Is this a new application? Or has it been recently changed?
WMQ doesn't usually fiddle with the application data payload... _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
kkr |
Posted: Fri Mar 05, 2010 8:26 pm Post subject: |
|
|
Novice
Joined: 17 Dec 2009 Posts: 15
|
yes thats wierd as the payload should not be getting changed
nothing else is getting changed..its only the data value which contains 00000000000001.000 is getting changed
this is not a new appln and the only value that changes is the one which has the low-order digit as 0
did not check yet by replacing the zeroes,but just wondering where and why the payload could be getting altered.
Thanks |
|
Back to top |
|
 |
gbaddeley |
Posted: Fri Mar 05, 2010 8:38 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
kkr wrote: |
Quote: |
Are you saying that when the message arrives in the destination queue, the trailing zero is not in the data? Or are you saying that the consuming application displays the data with the trailing zero missing? Which? |
Yes,when the message arrives at the destination,the trailing zero is getting eliminated. |
Show us a browse of a message sitting on the destination queue, say using MQ Explorer or amqsbcg. ie. Before it gets to your consuming app. _________________ Glenn |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Mar 05, 2010 9:20 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I'd suspect the app kkr is running to consume messages and the way it displays the number. It could be as easy as the app parsing the text to a number and not using the right formatter to display...
After all the number displayed is accurate. What is different is the display format... He is also not specifying if he is using xml.
XML has its own way of writing numbers. To XML 001.000 and 01.00 or 1.00 or even 1 may be equivalent... and will be displayed/written depending on restrictions put on the type (like {\d}(3).{\d}(3)
Have fun  _________________ MQ & Broker admin
Last edited by fjb_saper on Fri Mar 05, 2010 9:25 pm; edited 2 times in total |
|
Back to top |
|
 |
kkr |
Posted: Fri Mar 05, 2010 9:23 pm Post subject: |
|
|
Novice
Joined: 17 Dec 2009 Posts: 15
|
to be more clear, the message flow is as follows:
sender-->middleware-->Destination
Now, the message payload is getting altered when it reaches middleware even before it is being sent to the destinationq. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Mar 05, 2010 9:26 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
kkr wrote: |
to be more clear, the message flow is as follows:
sender-->middleware-->Destination
Now, the message payload is getting altered when it reaches middleware even before it is being sent to the destinationq. |
I disagree with you. Nothing is getting altered by MQ. It all depends on your sending app and transformation rules...
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
kkr |
Posted: Fri Mar 05, 2010 10:36 pm Post subject: |
|
|
Novice
Joined: 17 Dec 2009 Posts: 15
|
Quote: |
I disagree with you. Nothing is getting altered by MQ. It all depends on your sending app and transformation rules... |
i did not say that its being altered by MQ..i am at sea knowing what and where the value is getting changed as MQ does not fiddle with the payload.
as stated earlier i have browsed the xmitq on sending side and the value was with three zeroes after decimal .000 but when it reached middleware it is .00 even before the routing/transformation takes place and further sent to destination.
I do not think it is problem with sending appln as posting the message payload as .000
any other areas where i can check further ??
Thanks |
|
Back to top |
|
 |
mqjeff |
Posted: Sat Mar 06, 2010 3:46 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
If it's sitting on the xmitq with all three 0's, then odds are extremely good it's sitting on the final destination q with all three 0's.
So the place to look is in the part of the middleware that's *reading* the message. What mechanisms are in place that read that value out of that part of the message bitstream? |
|
Back to top |
|
 |
kkr |
Posted: Sat Mar 06, 2010 7:10 pm Post subject: |
|
|
Novice
Joined: 17 Dec 2009 Posts: 15
|
The input message to broker is parsed as a BLOB : For messages with unspecified format and as MRM for XML messages.
The message in question is being sent as an xml and we are not altering any of its payload explicitly and sending out as is.
any other suggestions/inputs please..?
Thanks in advance |
|
Back to top |
|
 |
Vitor |
Posted: Sat Mar 06, 2010 7:39 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kkr wrote: |
The input message to broker is parsed as a BLOB : For messages with unspecified format and as MRM for XML messages. |
This seems an odd and non-optimal set up.
kkr wrote: |
The message in question is being sent as an xml and we are not altering any of its payload explicitly and sending out as is. |
So what functions is broker performing, if not transformation?
kkr wrote: |
any other suggestions/inputs please..? |
As previously posted, use amqsbcg to browse the actual message in it's journey through the system. It's important to confirm that the actual message is being altered, and not simply being displayed differently by various applications and/or software. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Mar 06, 2010 8:15 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
fjb_saper wrote: |
XML has its own way of writing numbers. To XML 001.000 and 01.00 or 1.00 or even 1 may be equivalent... and will be displayed/written depending on restrictions put on the type (like {\d}(3).{\d}(3) |
If you are writing a number to XML and not a String and there is no specific pattern specified, XML will change the representation on you stripping unnecessary digits like leading zeroes or trailing zeroes after the decimal point... This does not matter as any XML parser will be able to reconstruct the message and you should be able to cast back to the correct numeric type...
If your String is entirely numeric XML might treat it as a number...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
kkr |
Posted: Sat Mar 06, 2010 9:20 pm Post subject: |
|
|
Novice
Joined: 17 Dec 2009 Posts: 15
|
Thanks for your suggesstions..
in this case the broker is routing the message based upon the header info while retaining the payload as it is...
well,yes i will browse the message through its journey and also by providing different values to check if it is being altered...
will keep you posted.  |
|
Back to top |
|
 |
|