ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » object messages

Post new topic  Reply to topic
 object messages « View previous topic :: View next topic » 
Author Message
skrv
PostPosted: Thu Jul 02, 2015 9:27 am    Post subject: object messages Reply with quote

Centurion

Joined: 26 Oct 2012
Posts: 118

application is trying to send reply messages as "object messages" and getting below errors in their application logs (2085). No errors in MQ logs.

any help?

[7/1/15 17:21:03:268 EDT] 00000095 SystemOut O 2015-07-01 17:21:03,268 DEBUG (defaultBinaryMessageListenerContainer-2) [BinaryRequestMessageListener(onMessage:30)] Message recieved in Listener :
JMSMessage class: jms_object
JMSType: null
JMSDeliveryMode: 1
JMSExpiration: 1435785723263
JMSPriority: 4
JMSMessageID: ID:414d5120444c34434e3331313320202055900a9a20149a35
JMSTimestamp: 1435785663263
JMSCorrelationID: 3ii7ha1h98mt30eho322empmd
JMSDestination: queue:///ABC.FILE.INQ.DQB.REQUEST
JMSReplyTo: null
JMSRedelivered: false
JMSXAppID: java
JMSXDeliveryCount: 1
JMSXUserID: cpcuser
JMS_IBM_Character_Set: UTF-8
JMS_IBM_Encoding: 273
JMS_IBM_Format:
JMS_IBM_MsgType: 8
JMS_IBM_PutApplType: 6
JMS_IBM_PutDate: 20150701
JMS_IBM_PutTime: 21210326
class gov.cms.cicdim.cpc.common.vo.DocumentVO
[7/1/15 17:21:03:280 EDT] 00000095 SystemOut O 2015-07-01 17:21:03,280 DEBUG (defaultBinaryMessageListenerContainer-2) [SQL(logStatement:104)] select documentca_.DOC_CTGRY_ID, documentca_.DOC_CTGRY_DESC as DOC_CTGR2_2_, documentca_.DOC_ROLE_ID as DOC_ROLE3_2_ from DOC_CTGRY documentca_ where documentca_.DOC_CTGRY_ID=?
[7/1/15 17:21:03:280 EDT] 00000095 SystemOut O 2015-07-01 17:21:03,280 TRACE (defaultBinaryMessageListenerContainer-2) [BasicBinder(bind:84)] binding parameter [1] as [INTEGER] - 31700000
[7/1/15 17:21:03:281 EDT] 00000095 SystemOut O 2015-07-01 17:21:03,281 DEBUG (defaultBinaryMessageListenerContainer-2) [DocumentMetaDataService(saveDocumentMetaData:59)] Metadata ID :::: 222
[7/1/15 17:21:03:284 EDT] 00000095 SystemOut O 2015-07-01 17:21:03,283 ERROR (defaultBinaryMessageListenerContainer-2) [BinaryRequestHandler(handleMessage:181)] Error processing request :
org.springframework.jms.InvalidDestinationException: JMSWMQ2008: Failed to open MQ queue 'ABC.FILE.INQ.AWS.REPLY'.; nested exception is com.ibm.msg.client.jms.DetailedInvalidDestinationException: JMSWMQ2008: Failed to open MQ queue 'ABC.FILE.INQ.AWS.REPLY'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2085' ('MQRC_UNKNOWN_OBJECT_NAME').
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 02, 2015 9:39 am    Post subject: Re: object messages Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

skrv wrote:
application is trying to send reply messages as "object messages" and getting below errors in their application logs (2085). No errors in MQ logs.

any help?


Well....

skrv wrote:
reason '2085' ('MQRC_UNKNOWN_OBJECT_NAME').


..that's a clue.

Object messages, text messages, mixed format messages, none of them work when the queue they're being written to ('ABC.FILE.INQ.AWS.REPLY') doesn't exist.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
skrv
PostPosted: Thu Jul 02, 2015 9:48 am    Post subject: Reply with quote

Centurion

Joined: 26 Oct 2012
Posts: 118

queue exists on a different server/qmgr.

application sends a fully qualified reply to the above server after getting the reply to qmgr/reply to queue details from the header in the original request message.

the setup is working when application sending "text messages" but when replying application is trying to send "object messages", they are getting this error.
Back to top
View user's profile Send private message
skrv
PostPosted: Thu Jul 02, 2015 9:48 am    Post subject: Reply with quote

Centurion

Joined: 26 Oct 2012
Posts: 118

queue exists on a different server/qmgr.

application sends a fully qualified reply to the above server after getting the reply to qmgr/reply to queue details from the header in the original request message.

the setup is working when application sending "text messages" but when replying application is trying to send "object messages", they are getting this error.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Jul 02, 2015 10:20 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

skrv wrote:
queue exists on a different server/qmgr.

application sends a fully qualified reply to the above server after getting the reply to qmgr/reply to queue details from the header in the original request message.

the setup is working when application sending "text messages" but when replying application is trying to send "object messages", they are getting this error.

So no JMSReply to
Quote:
JMSReplyTo: null

The JNDI for the queue does not specify the different qmgr where there is an instance of the queue... Tell us, how should the qmgr you are connected to know about this queue?
And just for the record, this has nothing to do with TextMessage vs ObjectMessage but all to do about JNDI queue definition or definition of a JMSReplyTo...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
skrv
PostPosted: Thu Jul 02, 2015 10:35 am    Post subject: Reply with quote

Centurion

Joined: 26 Oct 2012
Posts: 118

I think application team mentioning the request queue manager name in the JNDI queue definition, so that replies will go to that queue manager.

so you mean, the application sending the request should specify "JMSReply" to queue name while sending the request so that the replying application sends it to that queue?
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 02, 2015 10:48 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

skrv wrote:
application sends a fully qualified reply to the above server after getting the reply to qmgr/reply to queue details from the header in the original request message.

the setup is working when application sending "text messages" but when replying application is trying to send "object messages", they are getting this error.


So there are 2 options here:

- when they send a text message it's a fully qualified name (including the name of the remote queue manager which hosts the reply queue) but when they send an object message they omit the queue manager information so the queue is searched for locally (and not found)

- when they send an object message t's a fully qualified name (including the name of the remote queue manager which hosts the reply queue) but the application processing object messages doesn't honour the reply details in the header and always tries to use a local queue (which isn't found)

As my worthy associate points out, this is nothing to do with message content (text v object) and everything to do with application code & MQ topology.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
skrv
PostPosted: Thu Jul 02, 2015 10:54 am    Post subject: Reply with quote

Centurion

Joined: 26 Oct 2012
Posts: 118

so what will be the best thing to do for us?
Back to top
View user's profile Send private message
skrv
PostPosted: Thu Jul 02, 2015 11:09 am    Post subject: Reply with quote

Centurion

Joined: 26 Oct 2012
Posts: 118

so while sending "object message" it always omits the reply to qmgr details by design or application is configured wrongly?
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 02, 2015 11:35 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

skrv wrote:
so while sending "object message" it always omits the reply to qmgr details by design or application is configured wrongly?


How can we know what the design is?

It can be assumed that, if the sending application sends a reply to qmgr with a text message, the intent is that there should be one with an object message. Which means either they've failed in their intent on the sending side or they have not. Likewise, since the replying application is using the reply to qmgr in the header for text messages, it can be assumed that it should be for object messages, but may not be.

This is basic application debugging and nothing to do with MQ.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 02, 2015 11:36 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

skrv wrote:
so what will be the best thing to do for us?


Debug your applications.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Jul 02, 2015 11:41 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20696
Location: LI,NY

skrv wrote:
so while sending "object message" it always omits the reply to qmgr details by design or application is configured wrongly?

It's the right question to ask. But we cannot reply here. You need to talk to the architects and developers so that you know what should have been happening.

Then you need to check the JNDI to make sure the remote queue manager is there, and finally to the application developers to make sure they respect the conventions and did not float their own reply to queue in a properties file for instance...
so the syntax would be for the URI:
Code:
"queue://<QMGRNAME>/<QNAME>?opt1=val1&optn=valn"

Now if the queue manager name is not specified when the call session.createQueue(String myqueueURI) is made, the queue manager will default to the queue manager you are connected to. Exceptionally it might become a clustered instance, but for that I have had better chance with a cluster alias then with a blank queue manager name.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Thu Jul 02, 2015 11:45 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

fjb_saper wrote:
You need to talk to the architects and developers so that you know what should have been happening.




fjb_saper wrote:
Then you need to check the JNDI to make sure the remote queue manager is there, and finally to the application developers to make sure they respect the conventions and did not float their own reply to queue in a properties file for instance...




Or as I called it above, "debugging". I'll accept "problem determination" as a synonym
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ Java / JMS » object messages
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.