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 » Put error when MQRFH2 exists with utf-16 message

Post new topic  Reply to topic Goto page 1, 2  Next
 Put error when MQRFH2 exists with utf-16 message « View previous topic :: View next topic » 
Author Message
gilc
PostPosted: Tue Nov 13, 2012 12:57 am    Post subject: Put error when MQRFH2 exists with utf-16 message Reply with quote

Apprentice

Joined: 17 Mar 2011
Posts: 32

Hi everyone,

Been trying to work out this issue for some time now, searching every post in this subject here.... and something tells me the solution is so obvious and I'm just missing a little something...

So first the details: wmb 7.0.0.4 on AIX

I have a message in utf-16 coding (CCSID 1202 to be exact) that need to be added with MQRFH2 header, adding usr data.
When trying to put the message in a queue I get the error String too long to convert.
Now CCSID property for MQMD, Properties and the MQRFH2 headers are all set to 1202. Furthermore, the NameValueCCSID is also set to that value.

I will add that the code for adding the MQRFH2 header is generic and so other messages are passed ok, ones with different coding (1208 and 424).

Anyone has a suggestion on what's going on?

Many thanks,
~ Gil
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Nov 13, 2012 5:56 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

wrong buffer length?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
gilc
PostPosted: Tue Nov 13, 2012 6:23 am    Post subject: Reply with quote

Apprentice

Joined: 17 Mar 2011
Posts: 32

I add the MQRFH2 header using a compute node. It's not a C/Java/other program which builds the new message. And as for my knowledge (correct me if I'm wrong) the broker itself recalculates the new buffer length of the message....
Back to top
View user's profile Send private message
gilc
PostPosted: Tue Nov 13, 2012 6:44 am    Post subject: Reply with quote

Apprentice

Joined: 17 Mar 2011
Posts: 32

ugh... I just now realized I posted this question in the wrong forum....
If one of the admins could please move it to Message Broker Support.

Thanks and sorry for the trouble...

EDIT by exerk: Done, and it was no trouble.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Tue Nov 13, 2012 7:24 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

What is the effective level of the runtime?

http://www-01.ibm.com/support/docview.wss?uid=swg1IC78197

Use mqsireportbroker to find out.
_________________
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
gilc
PostPosted: Tue Nov 13, 2012 8:09 am    Post subject: Reply with quote

Apprentice

Joined: 17 Mar 2011
Posts: 32

Thanks for the reply
Hmmm as you thought, my sysadmin didn't change the borker effective level... So now it's done and... still not working (But still was an important thing to do)
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Tue Nov 13, 2012 8:10 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

If you have been trained on the WMB product, you can open a PMR to request step-by-step assistance. There may still be a bug related to the link I posted above.
_________________
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
gilc
PostPosted: Tue Nov 13, 2012 8:39 am    Post subject: Reply with quote

Apprentice

Joined: 17 Mar 2011
Posts: 32

yep been working with WMB for several years now... and was afraid you were going to suggest that.
oh well, thanks a lot for the help!
Back to top
View user's profile Send private message
rekarm01
PostPosted: Tue Nov 13, 2012 9:09 am    Post subject: Re: Put error when MQRFH2 exists with utf-16 message Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

gilc wrote:
When trying to put the message in a queue I get the error String too long to convert.
Now CCSID property for MQMD, Properties and the MQRFH2 headers are all set to 1202. Furthermore, the NameValueCCSID is also set to that value.

What is the complete error message (including BIP error number)?

NameValueCCSID must be either 1200, or 1208, (or 13488, or 17584). It shouldn't be 1202.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Tue Nov 13, 2012 9:38 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

lancelotlinc wrote:
If you have been trained on the WMB product, you can open a PMR to request step-by-step assistance. There may still be a bug related to the link I posted above.

You can open PMRs even if you haven't been trained on the WMB product.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Tue Nov 13, 2012 9:44 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

PeterPotkay wrote:
lancelotlinc wrote:
If you have been trained on the WMB product, you can open a PMR to request step-by-step assistance. There may still be a bug related to the link I posted above.

You can open PMRs even if you haven't been trained on the WMB product.


You can open them, but IBM is not obliged to service them.


IBM is not required to respond to requests for support from a customer who has not attended the requisite training.


Quote:
After trying to find your answer or solution by using other self-help options such as technotes, you can contact IBM Support. Before contacting IBM Support, your company must have an active IBM maintenance contract, and you must be authorized to submit problems to IBM.

When contacting IBM Software Support it is important to understand what support is available through IBM:

Specific product questions: If you have been trained on the product, you can submit specific questions or concerns.

Requests that are not within the scope of IBM Software Support and require you to contact either your Sales or Professional Services representative:

Support for untrained customers: Requests for step by step IBM help but do not have the required IBM product training. IBM Education offers customer training if additional staff training is needed. Please check the IBM Web site for specific information about available courses.


_________________
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
gilc
PostPosted: Wed Nov 14, 2012 12:32 am    Post subject: Re: Put error when MQRFH2 exists with utf-16 message Reply with quote

Apprentice

Joined: 17 Mar 2011
Posts: 32

rekarm01 wrote:
What is the complete error message (including BIP error number)?

There it is:
Code:
BIP2133E: Source field '0052004600480020' is too long for a target field of length '4' when converting from Unicode to codepage '1202'.

And I will add that this error doesn't occur if I remove the MQRFH2 header before putting the message.

rekarm01 wrote:

NameValueCCSID must be either 1200, or 1208, (or 13488, or 17584). It shouldn't be 1202.

You're totally right... I mislead you, we're not updating the NameValueCCSID in that flow....
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Wed Nov 14, 2012 1:15 am    Post subject: Re: Put error when MQRFH2 exists with utf-16 message Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

"0052004600480020" is HEX and with a hex decoder you get "�R�F�H� ".

That are 8 Bytes (and it is the UTF-16 encoding of the string "RFH "). And that is too long for your target-field.

Because it (the target field) expects 4 Bytes: It expects the UTF-8 encoding (or 8 bit american ASCII).

Luckily the 8 bit ASCII encoding of the CHARACTERS (character sequence) "RFH " is "RFH " (which is "52464820" in HEX).

The encoding only applies to the payload/body not the headers (MQMD, RFH) (and/or any of its values) !?!

The headers (MQMD, RFH, RFH2) always use 8 bit american ASCII ?!

(I am not 100% sure with that)
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
rekarm01
PostPosted: Wed Nov 14, 2012 2:13 am    Post subject: Re: Put error when MQRFH2 exists with utf-16 message Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1415

The declared fields in an MQ header have fixed byte lengths. The character fields in the MQRFH2 header (other than NameValueData) should consist of single-byte characters. Typically, the character set and encoding of the MQMD is defined by the queue manager, and the character set and encoding of each subsequent portion of the message is defined in the preceding header. So, for:
    MQMD -> MQRFH2 (+ NameValueData) -> message body

the qmgr ccsid (which describes the MQMD character fields) and the MQMD.ccsid (which describes the declared MQRFH2 character fields) must have "single-byte characters for the characters that are valid in queue names".

The NameValueCCSID (which describes the NameValueData) must be 1200, 1208, (or 13488, or 17584), and the MQRFH2.ccsid (which describes the message body) can use any supported code page.
Back to top
View user's profile Send private message
mqsiuser
PostPosted: Wed Nov 14, 2012 2:14 am    Post subject: Re: Put error when MQRFH2 exists with utf-16 message Reply with quote

Yatiri

Joined: 15 Apr 2008
Posts: 637
Location: Germany

gilc wrote:
when converting from Unicode to codepage '1202'.


That is UTF-16 LE with IBM PUA
_________________
Just use REFERENCEs
Back to top
View user's profile Send private message
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 » Put error when MQRFH2 exists with utf-16 message
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.