|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Broker Response Message |
« View previous topic :: View next topic » |
Author |
Message
|
pitkamat |
Posted: Tue Nov 15, 2005 2:59 am Post subject: Broker Response Message |
|
|
Newbie
Joined: 15 Nov 2005 Posts: 2
|
Hi,
Is there some where a good example how to create Broker Response Message?
We have a jms client writing data to the SYSTEM.BROKER.DEFAULT.STREAM queue and version 5.x WMQI Broker reads and redeliveres the message to the other systems. There is no MQ Publish/Subscribe broker running. Operating system is AIX 5.3.
JMS client fetch an "error com.ibm.mq.jms.NoBrokerResponseException: MQJMS5053: ..."
I have tried to create Broker Response Message but JMS client don't like it:
MQJMS1086: Error reading RFH
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:418)
at com.ibm.mq.jms.RFH.<init>(RFH.java:156)
at com.ibm.mq.jms.SubscriptionHelper.checkResponse(SubscriptionHelper.java:1065)
at com.ibm.mq.jms.MQTopicPublisher.publish(MQTopicPublisher.java:347)
at com.ibm.mq.jms.MQTopicPublisher.publish(MQTopicPublisher.java:386)
at ois.cir.server.CIRJMSConnectionManager.sendMessageToTopic(CIRJMSConnectionManager.java:243)
and
The linked exception is:
ERR.09(com......configuration.stocks.POSCfgTotalStockBatchAgent) version
-- java.lang.Exception: version
at com.ibm.mq.jms.RFH.<init>(RFH.java:126)
at com.ibm.mq.jms.SubscriptionHelper.checkResponse(SubscriptionHelper.java:1065)
at com.ibm.mq.jms.MQTopicPublisher.publish(MQTopicPublisher.java:347)
at com.ibm.mq.jms.MQTopicPublisher.publish(MQTopicPublisher.java:386)
at ois.cir.server.CIRJMSConnectionManager.sendMessageToTopic(CIRJMSConnectionManager.java:243)
...
TRACE of the Broker Response Message:
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = TRUE
(0x03000000):CreationTime = GMTTIMESTAMP '2005-10-18 14:03:21.470'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'414d5120534946494141504f5420202043535b9b20051c01'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = 'GBT_DECLARATION'
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'XXXXXXXXX.OUT'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 819
(0x03000000):Format = 'MQHRF2 '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 2
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 1
(0x03000000):MsgId = X'000000000000000000000000000000000000000000000000'
(0x03000000):CorrelId = X'414d5120534946494141504f5420202043535b9b20051c01'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = 'SYSTEM.JMS.REPORT.QUEUE '
(0x03000000):ReplyToQMgr = 'SIFIAAPOT '
(0x03000000):UserIdentifier = 'wmqiuid '
(0x03000000):AccountingToken = X'0000000000000000000000000000000000000000000000000000000000000000'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 26
(0x03000000):PutApplName = 'TestFlow'
(0x03000000):PutDate = DATE '2005-10-18'
(0x03000000):PutTime = GMTTIME '14:03:21.470'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):MQRFH2 = (
(0x03000000):Version = 2
(0x03000000):Format = ' '
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 1208
(0x03000000):Flags = 0
(0x03000000):NameValueCCSID = 1208
(0x01000000):pscr = (
(0x01000000):Completion = (
(0x02000000): = 'ok'
)
)
(0x01000000):mcd = (
(0x01000000):Msd = (
(0x02000000): = 'none'
)
)
)
(0x01000000):BLOB = (
(0x03000000):BLOB = X''
)
) |
|
Back to top |
|
 |
bower5932 |
Posted: Tue Nov 15, 2005 5:01 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
Quote: |
We have a jms client writing data to the SYSTEM.BROKER.DEFAULT.STREAM queue and version 5.x WMQI Broker reads and redeliveres the message to the other systems. There is no MQ Publish/Subscribe broker running. Operating system is AIX 5.3. |
This is probably a dumb question, but why don't you just use your WMQ broker to send back a response message? |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Nov 15, 2005 5:06 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Also, the Publish/Subscribe User's Guide should fully detail all the broker messages. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
pitkamat |
Posted: Wed Nov 16, 2005 3:06 am Post subject: Solved |
|
|
Newbie
Joined: 15 Nov 2005 Posts: 2
|
Thanks for guiding me to look from P/S User's Guide.
After several attempts we managed to create a valid Broker Response Message.
It was quite a confused written in P/S Guide:
In section "Response messages" it says
"Each command message that the broker processes can generate a response message. A response message has a similar format to a command message; the NameValueString in the MQRFH header contains the response to the command"
.
.
.
Standard parameters: CompCode, Reason, ReasonText
Optional parameters: DeleteOptions, ErrorId, ErrorPos, ParameterId, PublicationOptions, QMgrName, QName, RegistrationOptions, StreamName, Topic, UserId
.
.
.
Optional parameters Command
name: "MQPSCommand" (string constant: MQPS_COMMAND)
value: The incorrect command that was specified when a command fails with MQRC_RFH_COMMAND_ERROR. DeleteOptions
name: "MQPSDelOpts" (string constant: MQPS_DELETE_OPTIONS)
value: The incorrect delete options that were specified when a command fails with MQRCCF_DEL_OPTIONS_ERROR.
.
.
.
But in section "Publish/Subscribe name/value strings" in page 59 it says
"
The first occurrence of an ‘MQPS’ tag-name must be MQPSCommand, followed by a
tag-value which identifies the command to be carried out. Subsequent ‘MQPS’
tag-names and their values identify any options for that command (if they occur
before the MQPSCommand tag-name, the command will fail)."
A valid Repsonse looks like this:
TRACE after JMSResp
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 819
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = TRUE
(0x03000000):CreationTime = GMTTIMESTAMP '2005-10-18 14:03:21.470'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'414d5120534946494141504f5420202043535b9b20051c01'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = 'XXXXXXXXXXXXXXX'
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'XXXXXXXXX.OUT'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 819
(0x03000000):Format = 'MQHRF '
(0x03000000):Version = 1
(0x03000000):Report = 0
(0x03000000):MsgType = 2
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 1
(0x03000000):MsgId = X'000000000000000000000000000000000000000000000000'
(0x03000000):CorrelId = X'414d5120534946494141504f5420202043535b9b20051c01'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = 'SYSTEM.JMS.REPORT.QUEUE '
(0x03000000):ReplyToQMgr = 'XXXXXXXXX '
(0x03000000):UserIdentifier = 'wmqiuid '
(0x03000000):AccountingToken = X'0000000000000000000000000000000000000000000000000000000000000000'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 26
(0x03000000):PutApplName = 'XXXXXXXXX'
(0x03000000):PutDate = DATE '2005-10-18'
(0x03000000):PutTime = GMTTIME '14:03:21.470'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000000):MQRFH = (
(0x03000000):StrucId = 'RFH '
(0x03000000):Version = 1
(0x03000000):StrucLength = '104'
(0x03000000):Encoding = 273
(0x03000000):CodedCharSetId = 819
(0x03000000):Format = ' '
(0x03000000):Flags = 0
(0x03000000):NameValueString = 'MQPSCommand Publish MQPSCompCode 0 MQPSReason 0 MQPSReasonText MQRC_NONE'
) |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|