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 » Help!! .NET API - MQGet throws DATA_LENGTH_ERROR

Post new topic  Reply to topic
 Help!! .NET API - MQGet throws DATA_LENGTH_ERROR « View previous topic :: View next topic » 
Author Message
sywahu
PostPosted: Tue Jul 13, 2004 1:38 pm    Post subject: Help!! .NET API - MQGet throws DATA_LENGTH_ERROR Reply with quote

Newbie

Joined: 13 Jul 2004
Posts: 9

IBM say that CSD06 should solve this problem but they only talk about fixing the problem for MQPut. Basically, a 2010 is thrown for message greater than 4MB.

Apparently, for MQEnvironment generated on-the-fly client connection, this value is hardcoded to be 4MB. And the latest fix has hardocded this to be 100MB which should cater for all scenarios.

Does anyone know whether MQGet messages >4MB actually work after installing this patch?

P

Thanks
Sy.
Back to top
View user's profile Send private message
JasonE
PostPosted: Wed Jul 14, 2004 1:54 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Yes, this change makes the maxmsgl in the implicit CLNTCONN definition be 100Mb, so should work for both puts and gets. You obviously need to set the maxmsgl of both the qmgr and q appropriately.

If its not working for you, chances are you have not registered the fp6 version into the gac, as the fixpack install doesnt do it for you. Do gacutil /u then gacutil /i for amqmdnet.dll and try again

http://www-1.ibm.com/support/search.wss?apar=include&q=IC38370
Back to top
View user's profile Send private message
sywahu
PostPosted: Wed Jul 14, 2004 2:05 am    Post subject: Reply with quote

Newbie

Joined: 13 Jul 2004
Posts: 9

Thanks a mill Jason. I have asked the infrastructure team to apply that patch.

I will make sure the correct version of the amqmdnet.dll version is being used. The version they have got now is assembly version 1.0.0.2 and the time stamp on it is 31/03/03 which is really old. I assume the latest install should update this.

There is one more thing that I am not sure about. I develop on my machine and release the .NET Application as a setup program to the customer. But my references in the application still include the amqmdnet.dll file from the CSD01 version of the MQ client that was installed on my machine some time ago.

Do you kow whether I need to upgrade my machine as well with the patch so that when I build the setup program, the correct version of the dll file is included?

Cheers
Sy.
Back to top
View user's profile Send private message
JasonE
PostPosted: Wed Jul 14, 2004 3:18 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

1.0.0.2 was the (unsupported!) MA7P support pack version, and 5.3 fp5 onwards is 1.0.0.3.

Make sure you unregister 1.0.0.2, and then install fixpack 5 or 6, and if you so choose to do so, register 1.0.0.3 into the gac (gacutil) or use a config file.

You need to install the new amqmdnet.dll into the gac after applying every fixpacks

And yes - you need to upgrade you machine as well, as I believe the reference to the dll version number is made at build time. This is why 5.3 will have 1.0.0.3 as the version for all fixpack assemblies, because if we change it you need to recompile all your apps! Its more an indication of when the interface changes, and it should remain stable during the lifetime of 5.3.
Back to top
View user's profile Send private message
sywahu
PostPosted: Wed Jul 14, 2004 3:22 am    Post subject: Reply with quote

Newbie

Joined: 13 Jul 2004
Posts: 9

Thanks again.

Words can't described how much I appreciate your help.
Back to top
View user's profile Send private message
sywahu
PostPosted: Wed Jul 14, 2004 6:38 am    Post subject: Reply with quote

Newbie

Joined: 13 Jul 2004
Posts: 9

I have recompiled the application and apparently, they have slight changed the API for writing to the MQMessage object from CSD01 to CSD07.

The difference is slight.

objMQMessage.Write(buffer, buffer.Length) to,

objMQMessage.Write(buffer,offset, length).

I have just changed this to not use this contructor but use objMQMessage.Write(buffer)....since I am not sure what the offset really means.
Back to top
View user's profile Send private message
JasonE
PostPosted: Wed Jul 14, 2004 7:04 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

There never was a csd01 version, other than the unsupported ma7p interface. In fact, I would expect a number of the interfaces to change when it was productized...
Back to top
View user's profile Send private message
sywahu
PostPosted: Wed Jul 14, 2004 7:09 am    Post subject: Reply with quote

Newbie

Joined: 13 Jul 2004
Posts: 9

thats right jason. i was using the unsupported version before.

things are looking better now although I haven't tested 4MB messages yet with cds07.

the message length value that I am logging off is giving the right value now and not 4mb every time...but my client is taking too long to setup his test data....!!!

cheers.
sy
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 » Help!! .NET API - MQGet throws DATA_LENGTH_ERROR
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.