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 » Unconvertable Character Error

Post new topic  Reply to topic Goto page 1, 2  Next
 Unconvertable Character Error « View previous topic :: View next topic » 
Author Message
Sam99
PostPosted: Mon Jul 22, 2013 5:02 am    Post subject: Unconvertable Character Error Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

Hello MB Champs,

I have a MB flow on AIX box which send an xml to a Mainframe system via MQ(Remote queue).

Incoming request message has Encoding as 273 and CCSID as 1208

While sending the message we set the Encoding as 785 and CCSID as 285 and MQMD.Format as MQFMT_STRING;

Code :

SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
SET OutputRoot.MQMD.Format = MQFMT_STRING;
SET OutputRoot.MQMD.MsgType = MQMT_DATAGRAM;
SET OutputRoot.MQMD.Encoding = 785;
SET OutputRoot.MQMD.CodedCharSetId = 285;
SET OutputRoot.MQMD.Persistence = MQPER_PERSISTENT;

Problem :

In the request message we are getting – (ndash) and while putting the message in the remote queue I am getting below mentioned error,

BIP2136E: Source character '2013' in field

Unconvertable character||2013|

Any suggestions on how to handle this ?
Back to top
View user's profile Send private message
marko.pitkanen
PostPosted: Mon Jul 22, 2013 5:05 am    Post subject: Reply with quote

Chevalier

Joined: 23 Jul 2008
Posts: 440
Location: Jamsa, Finland

Hi,

What version AIX, broker and MQ you are using?

--
Marko
Back to top
View user's profile Send private message Visit poster's website
kimbert
PostPosted: Mon Jul 22, 2013 5:17 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

So your input message contains a character that cannot be represented in CCSID 285 ( single-byte EBCDIC).
Quote:
Any suggestions on how to handle this ?
Before attempting to send this message, ensure that all characters in the message tree can map to the target CCSID. There are various ways of doing this, but you cannot expect WMB to handle this automatically - it is a decision that you ( the application designer ) must make.
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
Back to top
View user's profile Send private message
marko.pitkanen
PostPosted: Mon Jul 22, 2013 5:26 am    Post subject: Reply with quote

Chevalier

Joined: 23 Jul 2008
Posts: 440
Location: Jamsa, Finland

With quick Google search we can find character table that perhaps shows you all the chars CCSID 285 knows.

--
Marko
Back to top
View user's profile Send private message Visit poster's website
Sam99
PostPosted: Mon Jul 22, 2013 5:29 am    Post subject: Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

AIX : 6.1 TL6

MQ : 7.1.0.6

WMB : 6.1.0.9
Back to top
View user's profile Send private message
Sam99
PostPosted: Mon Jul 22, 2013 5:42 am    Post subject: Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

Thanks a lot for your replies.

Kimbert,

Would you be able to help me on how to identify such characters and how to send them dynamically.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Mon Jul 22, 2013 5:55 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.

Look at the RAW data in a HEX editor. Then compare that with the codepage table from a previous link.
_________________
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.
Back to top
View user's profile Send private message
Sam99
PostPosted: Mon Jul 22, 2013 6:08 am    Post subject: Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

Sorry, I was not very clear in my previos post.

I have done that comparison but what I wanted to know is how to handle this in Message Broker.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Mon Jul 22, 2013 6:14 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:
There are various ways of doing this, but you cannot expect WMB to handle this automatically - it is a decision that you ( the application designer ) must make.


Why don't you propose some ideas. There are some that I could think of but they may well be irrelevant for your situation

Also, go to the originator of the message and find out why they are sending you rubbish
_________________
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.
Back to top
View user's profile Send private message
Sam99
PostPosted: Mon Jul 22, 2013 6:27 am    Post subject: Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

Regarding your second point, are hexcodes not valid way of passing data in UTF 8 format ?

If the answer is no, then how are they suppose to pass this data.

Regarding your first point, I will be back with some options.
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jul 22, 2013 7:20 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Quote:
Regarding your second point, are hexcodes not valid way of passing data in UTF 8 format ?
Define 'hexcodes'. If you mean 'XML character references' then yes, you can pass those in a UTF-8 XML document. But that's not your problem. Your flow is trying to *output* a character in EBCDIC, and EBCDIC simply cannot represent that character. It's not an XML problem, or a UTF-8 problem. It's an application integration problem.
Quote:
how are they suppose to pass this data.
You cannot pass that character using CCSID 285. Your options are:
- change the character to some other character that *is* supported by CCSID 285.
- Delete the character from the output message.
- change the output CCSID to UTF-8 ( CCSID 1208 ). But only if the receiving application can handle UTF-8.
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
Back to top
View user's profile Send private message
Sam99
PostPosted: Mon Jul 22, 2013 9:20 am    Post subject: Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

Thanks again Kimbert

Description : En dash
Character : –
HTMLEntity : –
DecimalCode : & #8211;
HexCode : –

Above is the character they are passing. More details;

http://www.danshort.com/HTMLentities/

Below is the list supported by CCSID 285

http://en.wikipedia.org/wiki/EBCDIC_285
Back to top
View user's profile Send private message
Sam99
PostPosted: Mon Jul 22, 2013 9:29 am    Post subject: Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

One more observation, its failing for this as well.

Description : Close single quote
Character : ’
HTMLEntity : ’
DecimalCode : & #8217;
HexCode : ’
Back to top
View user's profile Send private message
Sam99
PostPosted: Mon Jul 22, 2013 10:04 am    Post subject: Reply with quote

Apprentice

Joined: 19 Jul 2012
Posts: 43

In XML and XHTML, characters can be expressed as hexadecimal numeric character references using the notation &#xcode;, where code is the 1- to 6-digit hex number assigned to the character in the Unicode standard. Thus ’ represents the curled right single quote (Unicode value 2019 in hex, 8217 in decimal).
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jul 22, 2013 1:22 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Right. I now understand what you were trying to say earlier:
Quote:
are hexcodes not valid way of passing data in UTF 8 format ?

What you meant to say was this:
Quote:
Why can't message broker insert an XML character reference for the problem characters?

I guess the answer is 'it could' but you would have to detect the problem characters yourself and escape them using ESQL or Java. But there is a much simpler solution: change OutputRoot.Properties.Encoding to 1208 ( UTF-8 ). UTF-8 can represent any Unicode character, so your 'unconvertable character exception' will definitely go away.
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
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 » Unconvertable Character Error
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.