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 » MQ 7.1 (.net) entry point not found

Post new topic  Reply to topic Goto page 1, 2  Next
 MQ 7.1 (.net) entry point not found « View previous topic :: View next topic » 
Author Message
reitidotnet
PostPosted: Mon Jul 23, 2012 5:13 am    Post subject: MQ 7.1 (.net) entry point not found Reply with quote

Novice

Joined: 23 Jul 2012
Posts: 10

Hi Guys - I hope anyone can give me a hint with my problem.

I currently try to migrate an .net application to MQ 7.1

The app was initially programmed with .net 1.1 and MQ 5.3 (amqmdnet.dll)

I now get the current MQ version (7.1) and changed all references. Everything works fine, BUT I get an EntryPointNotFoundException when calling GET on a queue.

It does say, that the Entry Point for zstMQGET in "......../mgic.dll" is not found.

I have requested the latest fix for MQ, maybe it will solve the problem, but maybe not. I've searched the whole web but was not able to find anything which relates to my problem.

May I have missed something? Even when using the "old" application (which works flawless) with an 7.1 installed MQ I get the same error.

Entry Point for zstMGGET not found in "..../mqic.dll" ..

I use Windows 7 64bit, app is .net 4.0, c#

I have tried to use the 32bit mq-dlls as well as the 64bit dlls, with the same result, that the entry point is not found. All paths are correct.

Any help is highly appreciated!
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Jul 23, 2012 8:54 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

I seem to remember seeing something about that.
Make the CCSID for the message retrieval 1208 and let us know how you fare...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
reitidotnet
PostPosted: Tue Jul 24, 2012 1:00 am    Post subject: Reply with quote

Novice

Joined: 23 Jul 2012
Posts: 10

Thanks for your post. Unfortunately that has no impact. This Charset is already used everywhere.

Indeed, the above error is a EntryPointNotFoundException thrown by .Net Framework. So there is either a missing export or the declared function in the api or the call does not match the one in the library. (The later is true, I think)

I wonder, that I cannot find any information about that issue, so it seems there is already something fixed. I have to wait for the fixes, because I have no direct access to them and I have no idea IF it will fix that issue :-)

So maybe I missed something I have to care for when migrating a MQ 5.3 implementation... but it currently really seems, that the amqmdnet.dll has an error inside ..
Back to top
View user's profile Send private message
reitidotnet
PostPosted: Wed Jul 25, 2012 2:15 am    Post subject: Reply with quote

Novice

Joined: 23 Jul 2012
Posts: 10

unfortunately the fixpack has not solved the problem (amqmdnet.dll is now 10x bigger ..?)

I still get the same error:

Entry Point "zstMQGET" was not found in DLL ".../mqic.dll" which is the message of an EntryPointNotFoundException

I am using this call:

Code:
manager.AccessQueue(QUEUE_NAME,MQC.MQOO_INPUT_SHARED).Get(msg,msg_options);


IF I remove the options parameter (IBM.WMQ.MQGetMessageOptions) the call succeeds. Investigating metadata from amqmdnet.dll, I am using this call:

Code:
public void Get(MQMessage message, MQGetMessageOptions gmo);


which seems to have no entry point in mqic.dll

..but I need to use MessageOptions. I also have checked back the latest MQ samples, and everything is equal, so I have no idea, what I could try more, to resolve my problem.

Any ideas?

edit: when using the 3-param Get Call (the one with maxmsgsize) it is also working - I may use that for now, but still wonder why that 2-param function has no entry point in mqic.dll, while it is used in the sampled all the time.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Jul 25, 2012 4:51 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Do you get the same error if you use your procedure for building the samples?

Do you get the same error if you use the documented procedure for building the samples?

If you get either error, you should open a PMR.
Back to top
View user's profile Send private message
reitidotnet
PostPosted: Thu Jul 26, 2012 12:38 am    Post subject: Reply with quote

Novice

Joined: 23 Jul 2012
Posts: 10

Just in case, someone stumbles upon this thread, I'll proceed posting my results.

I've found out, that the above behaviour only happens to one specific Queue. Later calls on differnent queues do not have any problem with entrypoints, so it is no static error.

I assume, that there happens some sort of late binding depending on some queue properties (which I do not know) - in my case, it is sufficient to specifiy the maxmessagesize in the get call to make it work.

While I do not know the exact reason for this behaviour, it is working for my case.
Back to top
View user's profile Send private message
shashikanth_in
PostPosted: Mon Jul 30, 2012 7:36 pm    Post subject: Reply with quote

Centurion

Joined: 26 Feb 2009
Posts: 123

There have been lot of changes to MQ .NET since MQ 5.3. With MQ v7.1 you have multi version installation where in more than one version of MQ can be installed on the same system.

The error you are getting is really strange. Have you uninstalled your earlier version of MQ properly and installed MQ v7.1? Looks like your application is referring to some older version libraries.
Back to top
View user's profile Send private message
reitidotnet
PostPosted: Tue Jul 31, 2012 12:11 am    Post subject: Reply with quote

Novice

Joined: 23 Jul 2012
Posts: 10

I have setup MQ 7.1 on a clean machine.

The app also uses multiple queues and the problem does only occur on one of them, so it seems not to be a static "linking" problem with some dlls.

In code there is no difference in creating or accessing the queue objects, so it looks like it depends on the queue itself somehow. For whatever reason I have to use the 3-param call of MQGET on this one queue.

But I am just guessing on this one - using the 3-param-call just works fine; everywhere else in the app the normal calls work.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Jul 31, 2012 4:46 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

The only way that any behavior in MQ is different for a specific queue versus other queues on the same queue manager is if a) the queue is damaged, b) the settings on the queue are different.

Either way, you need to take this problem to your MQ administrator - whom you should have been talking to from the start anyway - and provide firm evidence to them that it works this way for exactly one queue.

And make sure you can recreate it with a different application.
Back to top
View user's profile Send private message
reitidotnet
PostPosted: Tue Jul 31, 2012 4:53 am    Post subject: Reply with quote

Novice

Joined: 23 Jul 2012
Posts: 10

Yes the queue settings are different (server side) for sure, but I don't know and it is not possible to change anything because of backwards compatibility.

I solved the problem on the clientside by using another function call - even when I do not know the exact reason, I am fine with that at the moment and cannot efford spending too much time with MQ admins ;-) .. they will not change anything until absolutely needed because the project is critical (remember murphies law)

But thank you for your efforts - hopefully someone find this thread useful, when being in a similar situation.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Jul 31, 2012 4:54 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

reitidotnet wrote:
Yes the queue settings are different (server side) for sure, but I don't know and it is not possible to change anything because of backwards compatibility.

I solved the problem on the clientside by using another function call - even when I do not know the exact reason, I am fine with that at the moment and cannot efford spending too much time with MQ admins .. they will not change anything until absolutely needed because the project is critical (remember murphies law)

But thank you for your efforts - hopefully someone find this thread useful, when being in a similar situation.


If it's a critical project, it's critical that you don't leave unresolved issues with it hanging around.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Jul 31, 2012 5:00 am    Post subject: Reply with quote

Grand High Poobah

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

mqjeff wrote:
reitidotnet wrote:
Yes the queue settings are different (server side) for sure, but I don't know and it is not possible to change anything because of backwards compatibility.

I solved the problem on the clientside by using another function call - even when I do not know the exact reason, I am fine with that at the moment and cannot efford spending too much time with MQ admins .. they will not change anything until absolutely needed because the project is critical (remember murphies law)

But thank you for your efforts - hopefully someone find this thread useful, when being in a similar situation.


If it's a critical project, it's critical that you don't leave unresolved issues with it hanging around.




If you don't know why this specific queue reacts the way it does, you can't be sure a different queue won't react that way in a different environment when you promote your code forward. Or that one day the admins will change something in this environment and you'll hit the same problem.

There's also the question of documentation; how will you explain that you're using that specific and unexpected function call on this specific queue? You'd never get "because if I don't use this call the magic goes away" past me in a document review.....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
reitidotnet
PostPosted: Tue Jul 31, 2012 5:21 am    Post subject: Reply with quote

Novice

Joined: 23 Jul 2012
Posts: 10

Please do not start an offtopic discussion about fundamentals - the project is live and it is crucial to maintain it running all the time without any risks.
The client is upgraded to latest compiler and MQ and the old version STILL needs to run as always - so there will be no change in server side mechanics for now - at least it is not my decision.

The problem is communicated and it is not my job to say "it does not work" - my job is to make it work as long as that's possible.

In my case (described in that thread) I just have no time to spent hours of work investigating a problem (or forcing people to investigate hours of work into mq-settings from stoneage) which does not concern me any more and may be just a bug which will not be fixed before end of time forcing me to do the "magic" anyway. If the magic fails in later testing, I can still investigate like Sherlock and start chasing ghost flies ;-)
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jul 31, 2012 5:50 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

reitidotnet wrote:
Please do not start an offtopic discussion about fundamentals - the project is live and it is crucial to maintain it running all the time without any risks.
... so there will be no change in server side mechanics for now - at least it is not my decision.

... it is not my job to say "it does not work" - my job is to make it work as long as that's possible.

... I just have no time to spent hours of work investigating a problem (or forcing people to investigate hours of work into mq-settings from stoneage) which does not concern me any more and may be just a bug which will not be fixed before end of time forcing me to do the "magic" anyway. If the magic fails in later testing, I can still investigate like Sherlock and start chasing ghost flies


Your frustration is noted. However, problem-determination (problem source identification) takes whatever time and effort it takes. There is no fast-path to a fix, as you are discovering.

We are a free service staffed by volunteers. I'd guess that many/most of us don't have v5.3 and .net skills.

If this is mission-critical for your organization, it may be time to bring a paid expert on-site.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
drikel
PostPosted: Mon Aug 27, 2012 2:42 am    Post subject: Reply with quote

Newbie

Joined: 27 Aug 2012
Posts: 4
Location: Brussels

Dear,

I stumbled upon the same issue while migrating my code from MQ 7.0 to MQ 7.1.0.1.

After fiddling around with the samples (SimpleGet), I succeeded to reproduce the error.

The root cause comes from the properties MQC.TRANSPORT_PROPERTY that you must specify for the MQQueueManager's constructor object.
In the sample it is set to MQC.TRANSPORT_MQSERIES_MANAGED. If you switch it to MQC.TRANSPORT_MQSERIES_CLIENT, which is the value that is most probably set in your MQ 5.3 code, you'll reproduce the exact same behaviour (same exception, if you add the 3rd parameters it works again, etc.)

If possible, change this parameter and hopefully it will work.

In my case it is a little bit more difficult as this parameter is set up via an XML file which is distributed and used by a Java version of the same API (long story).

I'll write a PMR and post the result when I'll have an answer.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » IBM MQ API Support » MQ 7.1 (.net) entry point not found
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.