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,343 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

This is about my first experience with programming Arduino.
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

724 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