Author |
Message
|
ovasquez |
Posted: Fri Dec 16, 2005 9:32 am Post subject: Not change CCSID, JMS |
|
|
 Centurion
Joined: 09 Dec 2005 Posts: 141 Location: Lima, Peru
|
I am trying to change the CCSID of the messages that send from a AIX to z/OS, but does not work, with:
********************
Queue queue = session.createQueue("queue:///"+nameQueue+"?CCSID=500&targetClient=1");
QueueSender sender = session.createSender(queue);
********NOT
*************************************
Queue queue = session.createQueue"queue:///"+nameQueue+"targetClient=1");
QueueSender sender = session.createSender(queue);
TextMessage msg=session.createTextMessage(message);
msg.setIntProperty("JMS_IBM_Character_Set",500);
sender.send(msg);
***NOT
PLease Help... _________________ Oscar Vásquez Flores |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Dec 16, 2005 9:53 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Are you then also writing the actual message data in CCSID 500?
Or are you leaving it as regular Java data?
Does your z/OS program do the right thing, and specify MQGMO_CONVERT when it fetchs the message? If so, then you should not set the CCSID on the sending side - leave it to the default but make sure you use a TextMessage. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
ovasquez |
Posted: Fri Dec 16, 2005 10:34 am Post subject: |
|
|
 Centurion
Joined: 09 Dec 2005 Posts: 141 Location: Lima, Peru
|
In the AIX I have the definition of the queue remota(this queue local in z/OS), then I give PUT in the remote queue from the AIX:
//JMS
TextMessage msg=session.createTextMessage("Hola!...Hola...");
sender.send(msg);
When I review the message in the local queue in z/OS has the CCSID 437 and Format MQSTR, how it does that the message arrives at the queue in z/OS with CCSID 500..., because the program Cobol CICS that reads that message waits for message with CCSID 500.
thanks! _________________ Oscar Vásquez Flores |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Dec 16, 2005 10:40 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The COBOL program should specify the MQGMO_CONVERT option when it gets the message.
Then everything will be fine.
If the COBOL programmers insist that they cannot change their code, then you can have them argue with the MQ Administration team about changing the channel to have the channel perform data conversion.
Your code is just fine, and is doing everything correctly. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
ovasquez |
Posted: Fri Dec 16, 2005 12:18 pm Post subject: |
|
|
 Centurion
Joined: 09 Dec 2005 Posts: 141 Location: Lima, Peru
|
it does not work...
Details:
in the AIX:
===========
queue remote: RQ1 ...remote a LQ1 in z/OS
channel Sender: aix1.to.zos1 ...atribute DATA CONVESON = YES
trasmision queue: qm1
in the z/OS:
===========
queue local: LQ1
channel Receiver: aix1.to.zos1
My code:
*****************************************
. . .
Queue queue = session.createQueue("queue:///RQ1?targetClient=1");
QueueSender sender = session.createSender(queue);
TextMessage msg=session.createTextMessage("HELLO..");
msg.setIntProperty("JMS_IBM_Character_Set",500);
System.out.println("CCSID Out: "+msg.getStringProperty("JMS_IBM_Character_Set"));
//Print CCSID Out:500
sender.send(msg);
************************
When I review the message in the local queue(LQ1) in z/OS has the CCSID 437 _________________ Oscar Vásquez Flores |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Dec 16, 2005 12:23 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ovasquez wrote: |
it does not work...
Details:
in the AIX:
===========
queue remote: RQ1 ...remote a LQ1 in z/OS
channel Sender: aix1.to.zos1 ...atribute DATA CONVESON = YES
trasmision queue: qm1
in the z/OS:
===========
queue local: LQ1
channel Receiver: aix1.to.zos1
My code:
*****************************************
. . .
Queue queue = session.createQueue("queue:///RQ1?targetClient=1");
QueueSender sender = session.createSender(queue);
TextMessage msg=session.createTextMessage("HELLO..");
msg.setIntProperty("JMS_IBM_Character_Set",500);
System.out.println("CCSID Out: "+msg.getStringProperty("JMS_IBM_Character_Set"));
//Print CCSID Out:500
sender.send(msg);
************************
When I review the message in the local queue(LQ1) in z/OS has the CCSID 437 |
What did you review it with. Depending on the tool this gets automatically converted to the CCSID of the client requesting the message (437?)
You need specific tools like QPasa or Tivoli or some such to check that the CCSID on the message is indeed what is expected and that the body really is in that ccsid.
Enjoy  |
|
Back to top |
|
 |
ovasquez |
Posted: Fri Dec 16, 2005 12:58 pm Post subject: |
|
|
 Centurion
Joined: 09 Dec 2005 Posts: 141 Location: Lima, Peru
|
my tool is mqmon is a suportpack the MQ and I view the attributes of the message with the option details... _________________ Oscar Vásquez Flores |
|
Back to top |
|
 |
|