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 API Support » MQMD header values

Post new topic  Reply to topic
 MQMD header values « View previous topic :: View next topic » 
Author Message
michael.da
PostPosted: Fri May 05, 2006 4:10 am    Post subject: MQMD header values Reply with quote

Novice

Joined: 30 Mar 2006
Posts: 13
Location: Frankfurt / Germany

Hi

I'm writing a user-defined input node in java. I have created a blanck MQMD header and have to fill it. How can I create a new MsgId and where do I get the AccountingToken and GroupId?

Regards
Michael
Back to top
View user's profile Send private message
michael.da
PostPosted: Fri May 05, 2006 7:03 am    Post subject: Reply with quote

Novice

Joined: 30 Mar 2006
Posts: 13
Location: Frankfurt / Germany

Here is my MessageTree:

Mytrace, created 15:52

(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-05-05 13:52:37.462'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X''
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 1208
(0x03000000):Format = ''
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 1
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = 64
(0x03000000):CorrelId = X''
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ''
(0x03000000):ReplyToQMgr = 'WBRK6_DEFAULT_QUEUE_MANAGER'
(0x03000000):UserIdentifier = 'kaiser'
(0x03000000):AccountingToken = X'0000000000000000000000000000000000000000000000000000000000000000'
(0x03000000):ApplIdentityData = ''
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = '30\eclipse\jre\bin\javaw.exe'
(0x03000000):PutDate = DATE '2006-05-05'
(0x03000000):PutTime = GMTTIME '13:52:37.462'
(0x03000000):ApplOriginData = ''
(0x03000000):GroupId = ''
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
)


to provide you with more information to the mistake, here is a trace output from my message flow:

Mytrace, created 15:53

(
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S000_P\src\DataFlowEngine\ImbDataFlowNode.cpp'
(0x03000000):Line = 616
(0x03000000):Function = 'ImbDataFlowNode::createExceptionList'
(0x03000000):Type = 'ComIbmMQOutputNode'
(0x03000000):Name = 'FileInputTest#FCMComposite_1_2'
(0x03000000):Label = 'FileInputTest.MYFILEOUTPUT'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2230
(0x03000000):Text = 'Node throwing exception'
(0x01000000):ParserException = (
(0x03000000):File = 'F:\build\S000_P\src\DataFlowEngine\ImbMqmdParser.cpp'
(0x03000000):Line = 1073
(0x03000000):Function = 'ImbMqmdParser::writeMqmd'
(0x03000000):Type = 'ComIbmJniNode'
(0x03000000):Name = 'FileInputTest#FCMComposite_1_1'
(0x03000000):Label = 'FileInputTest.ProfiBasicInput'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 2
(0x03000000):Number = 5912
(0x03000000):Text = 'Exception whilst writing field named'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'MQMD'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'MsgId'
)
(0x01000000):Insert = (
(0x03000000):Type = 2
(0x03000000):Text = '64'
)
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S000_P\src\CommonServices\ImbValue.cpp'
(0x03000000):Line = 936
(0x03000000):Function = 'ImbValue::typeError'
(0x03000000):Type = ''
(0x03000000):Name = ''
(0x03000000):Label = ''
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2328
(0x03000000):Text = 'Wrong type exception'
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'INTEGER'
)
(0x01000000):Insert = (
(0x03000000):Type = 5
(0x03000000):Text = 'BLOB'
)
)
)
)
)
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri May 05, 2006 8:33 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You appear to be trying to insert an Integer value into the MsgID, which is properly a BLOB value, that is to say a byte[].
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
michael.da
PostPosted: Sun May 07, 2006 11:03 pm    Post subject: Reply with quote

Novice

Joined: 30 Mar 2006
Posts: 13
Location: Frankfurt / Germany

I'm trying to create a new MsgID by setting MsgId to MQPMO_NEW_MSG_ID. This should generate a new ID. The ID should contains the first 12 characters of the queue-manager name and a value derived from the system clock.
I don't read messages from a queue, therefore I think that my node don't know about the queue-manager.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon May 08, 2006 4:56 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

MQPMO_NEW_MSG_ID is an MQ Put Message Option.

It is not a function that returns a new Message Id. It is an Integer value that is passed to the MQ PUT statement that instructs the MQ PUT statement to construct a new message id and insert it into the MsgId Field.

You can set a control on the MQOutput node that will instruct it to use this option when it PUTs the message - the control is called 'New Message ID".

If you are not using an MQOuptut node, you will need to construct a 24 byte BLOB value yourself.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
michael.da
PostPosted: Fri May 12, 2006 12:41 am    Post subject: Reply with quote

Novice

Joined: 30 Mar 2006
Posts: 13
Location: Frankfurt / Germany

It works!

the solution was to manually create a new mqmd header with the elements version and format and connect my input node with the MQOutput node. I configured the MQOutput to create a new msgID. Between the input and the output node, I placed a ESQL node. This node only creates a copy of my message and propagates the copy to the outputTerminal. Now the MQOutput is able to create a new msgID and my input node works fine.
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 API Support » MQMD header values
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.