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 » having different responses b/w WINDOWS and UNIX machines

Post new topic  Reply to topic
 having different responses b/w WINDOWS and UNIX machines « View previous topic :: View next topic » 
Author Message
Veera B
PostPosted: Tue Jan 29, 2013 12:47 am    Post subject: having different responses b/w WINDOWS and UNIX machines Reply with quote

Voyager

Joined: 16 Jan 2013
Posts: 76

Hi All,

I am having an interesting scenario where the response varies on a windows machine and UNIX, even thouch the code is exactly same.

I am having a input of 3 fields 1 int and other 2 charactes in the msg body. The length of integer Filed is 15, the unix code works only when i give all 15 digits, if i decrease it gvies me a input data too short error.

But on windows this does not happen, even if i decrease the number of digits in integer field, the code works fine.

windows -> local testing, UNIX -> SIT

can someone tell me why this happens on unix box and how can this scenario be avoided even if the lenght of the input is less (as we are giving padding characters in Mset)
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue Jan 29, 2013 1:18 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Please quote the exact error codes - 'input data too short' could be a number of things.
Also, what steps you have already taken to eliminate obvious errors in your test methodology? ( e.g. are you sure that the difference is not in your Windows/Unix test harnesses )
Quote:
windows -> local testing, UNIX -> SIT
What does that mean?
Back to top
View user's profile Send private message
smdavies99
PostPosted: Tue Jan 29, 2013 1:33 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

kimbert wrote:
Windows/Unix test harnesses )
Quote:
windows -> local testing, UNIX -> SIT
What does that mean?


System Integration Test ?

Off Topic Alternatives

System Idle Timeouts
Stand In Toilet
and plenty more (and often quite rude) ones as well
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.


Last edited by smdavies99 on Tue Jan 29, 2013 1:35 am; edited 1 time in total
Back to top
View user's profile Send private message
Veera B
PostPosted: Tue Jan 29, 2013 1:34 am    Post subject: Reply with quote

Voyager

Joined: 16 Jan 2013
Posts: 76

The innermost error code is 5503 with "CPI Text Buffer Input Data Too Short" description

I have deployed the same bar files to both the machines, windows and unix, have tested with same data for both.

What does Test Harnesses mean in your view ?
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue Jan 29, 2013 1:47 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

A test harness is a program/script that runs a set of tests. Sometimes defects can arise from the test harness. It sounds as if you are not using one, so that's probably not your problem
Quote:
I have deployed the same bar files to both the machines, windows and unix, have tested with same data for both.
It can be quite difficult to diagnose this type of problem. Are you 100% sure that the message flows are getting *exactly* the same bytes? Have you actually checked?
Could it be a character encoding ( CCSID) problem? What is 'Length Units' set to in your message definition for the integer element?
Back to top
View user's profile Send private message
Veera B
PostPosted: Tue Jan 29, 2013 5:29 pm    Post subject: Reply with quote

Voyager

Joined: 16 Jan 2013
Posts: 76

The length units is set as Bytes, and it is set a signed integer.

I am not sure about encoding(CCSID) problem, usually there will be difference in this b/w a windows and unix machine right ?

but here its a problem with giving full integer lenght or not, if i give anything less than Msgset length it is throwing error in UNIX ( and working in windows).
Back to top
View user's profile Send private message
kash3338
PostPosted: Tue Jan 29, 2013 7:38 pm    Post subject: Reply with quote

Shaman

Joined: 08 Feb 2009
Posts: 709
Location: Chennai, India

Just to clarify on your problem,

What Message Set do you have?
You have mentioned you have just 3 elements in your record, is it a fixed length Message Set?
What is your EOL specified in your Message Set?
Do you have multiple records coming in your Input message?
Whats the Min Occurs and Max Occurs set for your root element?
Back to top
View user's profile Send private message Send e-mail
Veera B
PostPosted: Tue Jan 29, 2013 8:11 pm    Post subject: Reply with quote

Voyager

Joined: 16 Jan 2013
Posts: 76

Its a fixed length message ..

only one record incoming,

Min and mx occurs 1 ..

Just to let u know , the difference b/w windows and Unix behaviour can be parked aside, but the thing thats bugging me is :-

Why is the Integer field not taking less digits than the max length defined ?

I am aware that this is not the default behaviour .. as we have given padding chars and left/right justify ... it should take what ever length until the max length, if it is less it should just pad it with the padding chars defined ..

its not accepting anything other than the max length ... is my understanding correct about message modelling or am i missing some key info ?
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Jan 30, 2013 1:33 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
I am aware that this is not the default behaviour .. as we have given padding chars and left/right justify ... it should take what ever length until the max length,..
If the field is a fixed length integer then your input data *must* contain 15 bytes of data. You cannot truncate the input field.

Quote:
if it is less it should just pad it with the padding chars defined
Your understanding is wrong. When parsing, the full 15 bytes must be present in the data. The padding character is then trimmed from the 15-character string before the remaining digits are converted to a logical integer value. When writing, the logical integer value is converted to a string of digits. It that string is less than 15 characters long then the padding character is added to the output data to fill any unused character positions in the fixed length output field.
Back to top
View user's profile Send private message
Veera B
PostPosted: Wed Jan 30, 2013 1:50 am    Post subject: Reply with quote

Voyager

Joined: 16 Jan 2013
Posts: 76

Quote:
Your understanding is wrong. When parsing, the full 15 bytes must be present in the data. The padding character is then trimmed from the 15-character string before the remaining digits are converted to a logical integer value. When writing, the logical integer value is converted to a string of digits. It that string is less than 15 characters long then the padding character is added to the output data to fill any unused character positions in the fixed length output field.


I got confused by reading your message, If i change the length units to charaters instead of bytes will this scenario not occur ?
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Jan 30, 2013 3:35 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
If i change the length units to charaters instead of bytes will this scenario not occur ?
It depends on whether you are using a multi-byte code page. If you are using a single-byte code page ( ASCII or EBCDIC ) then lengthUnits is probably not the problem.

Quote:
I got confused by reading your message
Yes - I was using the words 'bytes' and 'characters' as if they are the same thing. Sorry!
Read it again, and hopefully it will make sense this time. The main point is this: your input data must not be truncated. You must supply all 15 bytes, even if you have specified a padding character.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » having different responses b/w WINDOWS and UNIX machines
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.