Author |
Message
|
jmcollin92 |
Posted: Thu Jan 05, 2006 2:28 am Post subject: RFH Header (try all solutions without success) |
|
|
Newbie
Joined: 05 Jan 2006 Posts: 3
|
Hi there,
I've got the same kind of pb with unwanted RFH2 header.
The sender is a JMS program. When I show the message posted in the queue I see this :
Code: |
$ amqsbcg F_TRANSMISSION QM_BPS
****Message descriptor****
StrucId : 'MD ' Version : 2
Report : 0 MsgType : 8
Expiry : -1 Feedback : 0
Encoding : 273 CodedCharSetId : 1051
Format : 'MQXMIT '
Priority : 0 Persistence : 0
MsgId : X'414D5120514D5F42505320202020202043BCF88F20000402'
CorrelId : X'414D5120514D5F42505320202020202043BCF88F20000401'
BackoutCount : 0
ReplyToQ : ' '
ReplyToQMgr : 'QM_BPS '
** Identity Context
UserIdentifier : 'wlsadm '
AccountingToken :
X'0334303000000000000000000000000000000000000000000000000000000006'
ApplIdentityData : ' '
** Origin Context
PutApplType : '7'
PutApplName : 'QM_BPS '
PutDate : '20060105' PutTime : '11151678'
ApplOriginData : ' '
GroupId : X'000000000000000000000000000000000000000000000000'
MsgSeqNumber : '1'
Offset : '0'
MsgFlags : '0'
OriginalLength : '-1'
**** Message ****
length - 466 bytes
00000000: 5851 4820 0000 0001 465F 5254 455F 3120 'XQH ....F_RTE_1 '
00000010: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000020: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000030: 2020 2020 2020 2020 514D 5F4B 5053 4120 ' QM_KPSA '
00000040: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000050: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000060: 2020 2020 2020 2020 4D44 2020 0000 0001 ' MD ....'
00000070: 0000 0000 0000 0008 FFFF FFFF 0000 0000 '................'
00000080: 0000 0111 0000 04B8 4D51 5354 5220 2020 '........MQSTR '
00000090: 0000 0000 0000 0000 414D 5120 514D 5F42 '........AMQ QM_B'
000000A0: 5053 2020 2020 2020 43BC F88F 2000 0301 'PS C... ...'
000000B0: 0000 0000 0000 0000 0000 0000 0000 0000 '................'
000000C0: 0000 0000 0000 0000 0000 0000 2020 2020 '............ '
000000D0: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
000000E0: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
000000F0: 2020 2020 2020 2020 2020 2020 514D 5F42 ' QM_B'
00000100: 5053 2020 2020 2020 2020 2020 2020 2020 'PS '
00000110: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000120: 2020 2020 2020 2020 2020 2020 776C 7361 ' wlsa'
00000130: 646D 2020 2020 2020 0334 3030 0000 0000 'dm .400....'
00000140: 0000 0000 0000 0000 0000 0000 0000 0000 '................'
00000150: 0000 0000 0000 0006 2020 2020 2020 2020 '........ '
00000160: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000170: 2020 2020 2020 2020 0000 0006 6A61 7661 ' ....java'
00000180: 2020 2020 2020 2020 2020 2020 2020 2020 ' '
00000190: 2020 2020 2020 2020 3230 3036 3031 3035 ' 20060105'
000001A0: 3130 3435 3031 3633 2020 2020 4120 7369 '10450163 A si'
000001B0: 6D70 6C65 2074 6578 7420 6D65 7373 6167 'mple text messag'
000001C0: 6520 6672 6F6D 2050 5450 5361 6D70 6C65 'e from PTPSample'
000001D0: 3031 '01 '
|
The posted message is only "A simple text message from PTPSample01".
I've tried :
- to put
Code: |
((MQQueue)ioQueue).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ);
|
in the code without succes,
- to put :
in the def of the queue without success too.
The piece of code that produce the message is the following :
Code: |
factory = getConnectionFactoryFromJNDI(ctx, qcfLookup);
connection = factory.createQueueConnection();
connection.start();
boolean transacted = false;
session = connection.createQueueSession( transacted,
Session.AUTO_ACKNOWLEDGE);
ioQueue = getQueueFromJNDI(ctx, qLookup);
((MQQueue)ioQueue).setTargetClient ( JMSC.MQJMS_CLIENT_NONJMS_MQ);
((MQQueue)ioQueue).setPriority(0);
((MQQueue)ioQueue).setPersistence(MQC.MQPER_PERSISTENT);
QueueSender queueSender = session.createSender(ioQueue);
TextMessage outMessage = session.createTextMessage();
outMessage.setText(outString);
// Ask the QueueSender to send the message we have created
System.out.println( "Sending the message to " + ioQueue.getQueueName() );
queueSender.send(outMessage);
queueSender.close();
session.close();
session = null;
connection.close();
connection = null;
|
This code produce the following output :
Code: |
Sending the message to queue://QM_BPS/F_RTE_1?priority=0&persistence=1&targetClient=1
|
which shows that targetClient=1 is present.
Another strange thing is that persistence=1 is not reported in the dump of the queue.
The def of the queue is the following :
Code: |
InitCtx> dis q(F_RTE_1)
FAILIFQUIESCE(YES)
QUEUE(F_RTE_1)
QMANAGER(QM_BPS)
PERSISTENCE(APP)
CCSID(1208)
[b]TARGCLIENT(MQ)[/b]
ENCODING(NATIVE)
PRIORITY(APP)
EXPIRY(APP)
VERSION(1)
|
Can anyone help me ?
Thank's in advance _________________ JMC |
|
Back to top |
|
 |
fschofer |
Posted: Thu Jan 05, 2006 5:33 am Post subject: |
|
|
 Knight
Joined: 02 Jul 2001 Posts: 524 Location: Mainz, Germany
|
|
Back to top |
|
 |
jmcollin92 |
Posted: Thu Jan 05, 2006 8:24 am Post subject: [resolved] |
|
|
Newbie
Joined: 05 Jan 2006 Posts: 3
|
fschofer wrote: |
Did you put your message via a remote queue definition into a xmit queue ?
|
Thank's for your quick reply.
The message is send in a local queue which is connected to a transmission queue via a channel.
THe dump is done in the transmission queue.
In fact when the client reads the message only the right part is readen. I think the XMIT header is manipulated in internal by MQ and not transmitted to the client.
So there is no more pb.
Thank's for all. _________________ JMC |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jan 05, 2006 9:15 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The local queue is not connected to the transmission queue via a channel.
In fact, it's probably not a local queue at all - it's probably a QREMOTE.
The transmission queue is the local queue, and then the channel moves the message to the QLOCAL on the remote queue manager.
Not understanding this, and not understanding that messages on transmission queues have special headers, was the cause of your problem. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
jmcollin92 |
Posted: Thu Jan 05, 2006 9:34 am Post subject: |
|
|
Newbie
Joined: 05 Jan 2006 Posts: 3
|
jefflowrey wrote: |
Not understanding this, and not understanding that messages on transmission queues have special headers, was the cause of your problem. |
You're totally right.
I just don't understand why is this product (MQS) so complicated.... Life can be so simple (JMS).
Thank's for all. _________________ JMC |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Jan 05, 2006 9:56 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
jmcollin92 wrote: |
You're totally right.
I just don't understand why is this product (MQS) so complicated.... Life can be so simple (JMS). |
This product is so complicated because it meets multiple needs.
JMS is simpler because it doesn't try to meet all the needs that MQ does.
Some of those needs can't be met by JMS. For example, JMS does not, that I know of, have a notion of report messages, and consequently to use them you have to dip into provider specific methods and properties. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|