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 » MQIIH In VB6

Post new topic  Reply to topic Goto page Previous  1, 2
 MQIIH In VB6 « View previous topic :: View next topic » 
Author Message
BBuff
PostPosted: Wed Apr 12, 2006 6:08 am    Post subject: Reply with quote

Novice

Joined: 11 Apr 2006
Posts: 10

True. I've been totally impressed with the response on the forum.

I do have a little more information. If PutApplType = MQAT_IMS_BRIDGE then the message never arrives in the queue. If it is set to PutApplType = MQAT_WINDOWS_NT the message shows up in the queue just fine. I know I have some sort of disconnect somewhere, but not sure where it is at this time.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Apr 12, 2006 6:14 am    Post subject: Reply with quote

Grand High Poobah

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

BBuff wrote:
True. I've been totally impressed with the response on the forum.

I do have a little more information. If PutApplType = MQAT_IMS_BRIDGE then the message never arrives in the queue. If it is set to PutApplType = MQAT_WINDOWS_NT the message shows up in the queue just fine. I know I have some sort of disconnect somewhere, but not sure where it is at this time.


Well this would make sense. If you're claiming that the putting application for a message intended for the bridge is the bridge, it'll disappear up itself in a puff of logic.

I never set putting application & let it default. Lazy but seems to work.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
BBuff
PostPosted: Wed Apr 12, 2006 6:45 am    Post subject: Reply with quote

Novice

Joined: 11 Apr 2006
Posts: 10

Well I lied. If the Message Descriptor Format property that's killing me somehow. If it's set to MQFMT_IMS the message never goes in the queue, but if it is set to MQFMT_STRING it's fine. Sorry for any confusion.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Apr 12, 2006 6:54 am    Post subject: Reply with quote

Grand High Poobah

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

BBuff wrote:
Well I lied. If the Message Descriptor Format property that's killing me somehow. If it's set to MQFMT_IMS the message never goes in the queue, but if it is set to MQFMT_STRING it's fine. Sorry for any confusion.


Bizarre. Can't think of a reason why the format would cause the put to fail, but clearly your system can. Interested to know what the reason code is when you set MQFMT_IMS, but it's just morbid curiosity.

The IT world is full of bizarre things, and I've learned to just let them slide unless they actually stop you getting someplace....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
BBuff
PostPosted: Wed Apr 12, 2006 6:59 am    Post subject: Reply with quote

Novice

Joined: 11 Apr 2006
Posts: 10

The weird thing is that when I debug and step over the MQPUT line the reason code is 0.

Is this correct for building the header:
Private Function BuildBridgeHeader() As Variant
Dim header As String

header = "IIH " ' MQIIH_STRUCT_ID
header = header & Hex$("1") ' MQIIH_VERSION_1
header = header & Hex$("84") ' MQIIH_LENGTH_1
header = header & Hex$("0") ' 4 byte reserved
header = header & Hex$("0") ' 4 byte reserved
header = header & "MQIMSVS " ' MQFMT_IMS_VAR_STRING
header = header & Hex$("0") ' MQIIH_NONE
header = header & "MASTER " ' 8 byte ltermoverride
header = header & "MODU03 " ' 8 byte mfsmapname
header = header & "MQIMSVS " ' MQFMT_IMS_VAR_STRING
header = header & Left(g_user_id & Space(, ' 8 byte authenticator
header = header & "0000000000000000" ' 16 byte transid
header = header & " " ' MQITS_NOT_IN_CONVERSATION
header = header & "1" ' MQICM_SEND_THEN_COMMIT
header = header & "C" ' MQIIS_CHECK
header = header & " " ' 1 byte reserved

BuildBridgeHeader = header
End Function

Vitor wrote:
BBuff wrote:
Well I lied. If the Message Descriptor Format property that's killing me somehow. If it's set to MQFMT_IMS the message never goes in the queue, but if it is set to MQFMT_STRING it's fine. Sorry for any confusion.


Bizarre. Can't think of a reason why the format would cause the put to fail, but clearly your system can. Interested to know what the reason code is when you set MQFMT_IMS, but it's just morbid curiosity.

The IT world is full of bizarre things, and I've learned to just let them slide unless they actually stop you getting someplace....
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Apr 12, 2006 7:27 am    Post subject: Re: MQIIH In VB6 Reply with quote

Grand High Poobah

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

I would have stuck with

BBuff wrote:

Dim iih As MQIIH

MQIIH_DEFAULTS iih


etc - more maintainable.

No message & a reason code of 0? Again, bizarre. Clearly getting itself routed someplace. Hands up anyone who cares.....?

Unless of course, as JT points out, the reason it's not there is because IMS has consumed it....?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
DryHeatDave
PostPosted: Wed Apr 12, 2006 8:12 am    Post subject: Reply with quote

Apprentice

Joined: 21 Mar 2006
Posts: 28
Location: Phoenix, AZ

NOt sure how much it helps (if at all). But here's a captured example - I have sanitised the replyto info & userid. As you can see on the last line, we did explicitly include the LLZZTRANNAME before the payload (we use a SOAP-compliant envelope).

[ 364 bytes] Message Descriptor (MQMD)
StrucId :'MD '
Version :2
Report :0
Message Type :8
Expiry :-1
Feedback :0
MQEncoding :0x'311'
CCSID :37
Format :'MQIMS '
Priority :0
Persistence :0 (Not Persistent)
Message Id :. ( . . . . & . . . . . . . . . . . . . . . . .
414D512053445058585131312020202043DAE1DA208F4402
Correl. Id :. . . . . . . . . . . . . . . . . . . . . . . .
000000000000000000000000000000000000000000000000
Backout Cnt. :0
ReplyToQ :'reply.to.queue.name '
ReplyToQMgr :'reply.to.queue.manager.name '
UserId :'usersid '
AccountingTkn:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0000000000000000000000000000000000000000000000000000000000000000
ApplIndentity:' '
PutApplType :28
PutApplName :' '
Put Date :'20060214'
Put Time :'10200396'
ApplOriginDat:' '
Group Id :. . . . . . . . . . . . . . . . . . . . . . . .
000000000000000000000000000000000000000000000000
Msg Seq No. :1
Offset :0
MsgFlags :0
Original Len.:-1
+00000000 C9C9C840 00000001 00000054 00000000 00000000 IIH ................
+00000014 D4D8C9D4 E2404040 00000000 40404040 40404040 MQIMS ....
+00000028 40404040 40404040 D4D8C9D4 E2E5E240 40404040 MQIMSVS
+0000003C 40404040 00000000 00000000 00000000 00000000 ................
+00000050 40F0C340 0AA40000 D3E5D3E2 E3404040 4CC595A5 0C .u..LVLST <Env
_________________
SCJP2
IBM Cert. Solutions Designer for Websphere MQ 5.3
Not a certified mainframer - just been doing it a real long time.
Back to top
View user's profile Send private message
DryHeatDave
PostPosted: Wed Apr 12, 2006 8:19 am    Post subject: Reply with quote

Apprentice

Joined: 21 Mar 2006
Posts: 28
Location: Phoenix, AZ

Regarding the Format in the descriptor - I think it has to be MQIMS, to tell MQ to look for (and parse) the IIH.

Q. Does anyone know - does this apply when sending a message with RFH2 (or other) headers ? i.e. do you have to set the appropriate MD format, to get MQ to parse the additional header/s ?

If changing the format to MQIMS in the descriptor causes an error - betting it's a problem in the IIH, which was not being parsed by MQ before (if you don't tell it to expect an IIH, I guess it'll be treated as payload)
_________________
SCJP2
IBM Cert. Solutions Designer for Websphere MQ 5.3
Not a certified mainframer - just been doing it a real long time.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Wed Apr 12, 2006 8:41 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

The format of the MQMD has to always be set to the format of the next section of the message.

Sometimes this section is another header, sometimes it is the message body.

In general, if a particular section of a message has a Format field, then the format field will indicate the format of the NEXT section of the message.

so if you have a message that is
MQMD
MQIIH
MQRFH2
Body

Then the MQMD Format will be MQIIH, the MQIIH Format will be MQHRF2 and the format of the MQRFH2 will be, perhaps, MQFMT_STRING.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » IBM MQ API Support » MQIIH In VB6
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.