Kbase P109498: Adapter for SonicMQ: User-defined function 'getid' invoked dynamically but could not be found. (5639
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  30/09/2005 |
|
Status: Unverified
FACT(s) (Environment):
Windows
UNIX
Progress 9.x
OpenEdge 10.x
SonicMQ
SYMPTOM(s):
4GL client errors when calling 4GL-JMS API deleteSession()
User-defined function '<function>' invoked dynamically but could not be found. (5639)
User-defined function 'getID' invoked dynamically but could not be found. (5639)
Stack trace from Prowin32.exe reads:
deleteSession jms/ptpsession.p (<DLC_10.0B>\jms\ptpsession.r) at line 16
deleteSession jms/impl/session.p (<DLC_10.0B>\jms\impl\session.r) at line 1314
disconnect jms/impl/msgreceiver.p (<DLC_10.0B>\jms\impl\msgreceiver.r) at line 657
--> deleteMsgConsumer jms/impl/msgreceiver.p (<DLC_10.0B>\jms\impl\msgreceiver.r) at line 722
Message consumer object is being delete with DELETE OBJECT before deleteSession() is called.
CAUSE:
DELETE OBJECT is removing the handle reference to the Message Consumer, which inturn causes the underlying adapter code to fail when it attempts to cleanup the 4GL-JMS objects.
FIX:
Use the 4GL-JMS API deleteConsumer() instead of DELETE OBJECT. For an example on how to duplicate and resolve the issue, see the note section below