?
Solved

Character encoding issue when posting a message to a queue that is configured on a mainframe machine

Posted on 2010-11-12
5
Medium Priority
?
1,370 Views
Last Modified: 2013-11-13
We are facing an issue with character encoding when posting a message to a queue that is configured on a mainframe machine.

Here are the details of the setup:

Sender: JMS using Websphere MQ Client API version 6

Receiver:  Mainframe server with CCSID value for queue manager set to 500 (EBCDIC)

When we send the message from sender, and retrieve it using JMS api’s, message is available in the correct format. However, if message is retrieved on the mainframe server, it has additional special characters at the beginning of the message.

If the message is sent using MQ API’s directly (bypassing JMS), and MQMessage.characterSet property is set to 500, the message is retrieved correctly without any special characters on the mainframe server.

We need to know the equivalent message property that needs to be set from JMS API’s that will have the same effect as setting MQMessage.characterSet from MQ API’s directly.

Already tried setting JMS_IBM_Character_Set to 500 on TextMessage instance but this doesn’t work.

Also, please let us know how to remove JMS specific header from the message before it is posted to the queue. We think, this is creating the problem as the message body is correctly converted.
0
Comment
Question by:pvasha
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
5 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 34119935
Start by executing the following (or more conveniently and reusably http://technojeeves.com/joomla/index.php/free/54-javasystemproperties ) at each end - what do you get?


System.out.println(System.getProperty("file.encoding"));

Open in new window

0
 

Accepted Solution

by:
pvasha earned 0 total points
ID: 34142762
The issue was the extra message header created by JMS which was not recognized by non JMS Clients.

The following is the solution we implemented:
We set the target client attribute on MQ Queue instance to which the message was sent. The value was set to 1 which corresponds to non JMS Client.

This solution is valid for a spring based application.

We are planning to move the app to MULE, so the JMS end points will be configured using Mule XML. Is anybody aware of setting the target client attribute in Mule Configuration XML.

Best Regards
0
 

Author Comment

by:pvasha
ID: 36151362
Please close this thread
0
 
LVL 60

Expert Comment

by:Kevin Cross
ID: 36929518
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

How To Reduce Deployment Times With Pre-Baked AMIs

Even if we can't include all the files in the base image, we can sometimes include some of the larger files that we would otherwise have to download, and we can also sometimes remove the most time-consuming steps. This can help a lot with reducing deployment times.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn different types of Android Layout and some basics of an Android App.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Progress
Suggested Courses
Course of the Month11 days, 9 hours left to enroll

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question