Author |
Message
|
sywahu |
Posted: Tue Jul 13, 2004 1:38 pm Post subject: Help!! .NET API - MQGet throws DATA_LENGTH_ERROR |
|
|
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 |
|
 |
JasonE |
Posted: Wed Jul 14, 2004 1:54 am Post subject: |
|
|
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 |
|
 |
sywahu |
Posted: Wed Jul 14, 2004 2:05 am Post subject: |
|
|
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 |
|
 |
JasonE |
Posted: Wed Jul 14, 2004 3:18 am Post subject: |
|
|
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 |
|
 |
sywahu |
Posted: Wed Jul 14, 2004 3:22 am Post subject: |
|
|
Newbie
Joined: 13 Jul 2004 Posts: 9
|
Thanks again.
Words can't described how much I appreciate your help. |
|
Back to top |
|
 |
sywahu |
Posted: Wed Jul 14, 2004 6:38 am Post subject: |
|
|
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 |
|
 |
JasonE |
Posted: Wed Jul 14, 2004 7:04 am Post subject: |
|
|
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 |
|
 |
sywahu |
Posted: Wed Jul 14, 2004 7:09 am Post subject: |
|
|
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 |
|
 |
|