Solved

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

Posted on 2010-11-12
5
1,309 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
  • 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 59

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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
varialbe initialization 11 33
eclipse apache tomcat admin console 52 97
servlet example 17 31
hibernate example issues from command prompt 10 41
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
This is an explanation of a simple data model to help parse a JSON feed
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
The viewer will learn how to implement Singleton Design Pattern in Java.

770 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