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 » WebSphere Message Broker (ACE) Support » [SOLVED] Problem calling ESQL procedure in separate project

Post new topic  Reply to topic
 [SOLVED] Problem calling ESQL procedure in separate project « View previous topic :: View next topic » 
Author Message
gbbailey
PostPosted: Wed Jul 25, 2007 4:36 am    Post subject: [SOLVED] Problem calling ESQL procedure in separate project Reply with quote

Apprentice

Joined: 12 May 2006
Posts: 27
Location: London, UK

I've just created a new development environment, and imported all my existing projects from CVS. I have three "system" projects that reference each other, called Core, Exception and Audit. All other message flow projects reference these projects.

Each message flow project is full of errors similar to the following example from my Core project:
Quote:
Incorrect function or procedure name "ThrowException" or argument count.


This would be given for the following code:
Code:

BROKER SCHEMA com.xxx.esb.system.core.generateESBID

PATH com.xxx.esb.system.core.generateESBID,
     com.xxx.esb.system.exception,
     com.xxx.esb.system.core.headers;

...

CALL ThrowException('GENERATE_ESBID_ERROR', '', '', '', '', TRUE, msgRef, envRef);


I have commented out all the errors in the Exception projects, but even though the broker schema for ThrowException is in the path, and the Exception project in referenced, and without errors, the Core project cannot find the procedure.

However, if I explicitly put the path in the procedure call, there are no errors. E.g.
Code:
CALL com.xxx.esb.system.exception.ThrowException('GENERATE_ESBID_ERROR', '', '', '', '', TRUE, msgRef, envRef);


I am running Windows XP SP2, and broker toolkit 6.0.2.0 fixpack 8.

I have tried numerous cleans and refreshes and rebuilds and opening of ESQL files, and resaving files after cosmetic changes, and although this seems to have fixed things historically, none of these work.

I have also tried recreating the problem with simpler projects, and have a similar (though subtly different) problem.

Project 1: GBB1
One ESQL file, com.gbb1.GBB1.esql

Code:
BROKER SCHEMA com.gbb1

PATH com.gbb1, com.gbb2;

CREATE PROCEDURE gbb1Proc1(IN message CHARACTER)
BEGIN
   
   RETURN;
END;

CREATE PROCEDURE gbb1Proc2(IN message CHARACTER)
BEGIN
   CALL gbb1Proc1("HELLO WORLD");
   CALL gbb2Proc1("HELLO WORLD");
   RETURN;
END;


Project 2: GBB2
One ESQL file, com.gbb2.GBB2.esql

Code:
BROKER SCHEMA com.gbb2

PATH com.gbb1, com.gbb2;

CREATE PROCEDURE gbb2Proc1(IN message CHARACTER)
BEGIN
   
   RETURN;
END;

CREATE PROCEDURE gbb2Proc2(IN message CHARACTER)
BEGIN
   CALL gbb1Proc1("HELLO WORLD");
   CALL gbb2Proc1("HELLO WORLD");
   RETURN;
END;


Even though these procedures are mirror images of each other I am having errors in one project (GBB2), but not the other (GBB1).

There is a subtle difference in the error I see here. I only get the error if the call to the procedure is not prefixed by the schema of the external function being called, and the local broker schema is not in the path.

This is different from the problem I appear to be experiencing in the more complicated project in that having the local schema in the path appears to make no difference to whether or not I receive the error.

What is going on?


Last edited by gbbailey on Mon Jul 30, 2007 1:57 am; edited 1 time in total
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Jul 25, 2007 2:48 pm    Post subject: Reply with quote

Grand High Poobah

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

My experience is following:
You put the global functions project on your path and you can call functions/procedures without prefix from your flow project.
However any call from the global functions project still needed to reference the full path. (Maybe because I did not include . into the Path of the global functions project)?

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
gbbailey
PostPosted: Mon Jul 30, 2007 1:55 am    Post subject: Reply with quote

Apprentice

Joined: 12 May 2006
Posts: 27
Location: London, UK

I reinstalled the toolkit and upgraded to an earlier version (if001). A colleague upgraded to if007 and the problem disappeared.

My guess then is that the problem is with interim fix 008.
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 » WebSphere Message Broker (ACE) Support » [SOLVED] Problem calling ESQL procedure in separate project
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.