Author |
Message
|
ghcnguyen |
Posted: Sun Aug 23, 2009 10:57 pm Post subject: related issue |
|
|
Newbie
Joined: 23 Aug 2009 Posts: 5
|
hi,
I have two machines; one is win Vista with v7 MQ server installed and the other is win XP with v6 MQ server installed.
I am trying to developed a really simple programs that puts/gets messages from the MQ.
However, when using the amqmdnet.all from v7 and accessing localhost, it runs fine on the win Vista machine but when i tried to run it on the v6 win XP machine I get the same exception as the one reported here:
System.TypeLoadException: Could not load type 'IBM.WMQ.MQDestination' from assembly 'amqmdnet'...
Likewise, i have tried using the old DLL from v6 (amqmdnet.dll) it works fiine on the v6 win XP machine but on the v7 win Vista it gives the "Unable to bind..." exception.
any help is greatly appreciated. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 24, 2009 6:36 am Post subject: Re: related issue |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
ghcnguyen wrote: |
any help is greatly appreciated. |
The names are the same but the contents differ between versions. Especially between v6 & v7. Review the documentation & ensure you're using supported methods. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
shashikanth_in |
Posted: Tue Aug 25, 2009 9:41 am Post subject: |
|
|
Centurion
Joined: 26 Feb 2009 Posts: 123
|
Are you running the sample (that was compiled with MQ v7 version of amqmdnet.dll ) on a MQ v6 box? I don't think that is supported. |
|
Back to top |
|
 |
ghcnguyen |
Posted: Tue Aug 25, 2009 8:20 pm Post subject: |
|
|
Newbie
Joined: 23 Aug 2009 Posts: 5
|
hmmmm... so are you saying that v7 is not backward compatible?!
the problem that i have is that i am developing the program using Visual C# on a win Vista with a v7 MQ. The program need to run on both v6 and v7.
is there a way I can make this work?! |
|
Back to top |
|
 |
shashikanth_in |
Posted: Wed Aug 26, 2009 7:39 am Post subject: |
|
|
Centurion
Joined: 26 Feb 2009 Posts: 123
|
Yes, it is backward compatible. But the MQDestination class that you are using is not available in MQv6. Hence the type load exception. MQDestination has been added from MQ v7. In v6 we had only MQQueue object. So if you MQQueue instead of MQDestination your application should work with MQ v6 also.
HTH |
|
Back to top |
|
 |
ghcnguyen |
Posted: Wed Aug 26, 2009 4:52 pm Post subject: |
|
|
Newbie
Joined: 23 Aug 2009 Posts: 5
|
I am not using MQDestination.
Using the v7 DLL. I managed to connect to the MQ Manager without any problems.
However, it is when I tried to put/get a message that I get this Exception. It looks like MQQueue is calling it somewhere within the class itself on v7.
Not so sure... |
|
Back to top |
|
 |
shashikanth_in |
Posted: Wed Aug 26, 2009 11:58 pm Post subject: |
|
|
Centurion
Joined: 26 Feb 2009 Posts: 123
|
MQQueue/MQTopic classes are derived from MQDestination. That's why you get the exception in MQv6 where MQDestination does not exist. In summary, application build with MQ v7 .NET classes can not be used with MQ v6 .NET classes.
The compatability is only for MQ Server and not with MQ Client. An MQ application written with MQ v7 .NET classes can talk to MQ v6 queue manager also.
HTH |
|
Back to top |
|
 |
|