Author |
Message
|
powerlord |
Posted: Thu Mar 09, 2006 1:36 am Post subject: MB6.0: ESQL not resolving/compiling references into cmf |
|
|
Novice
Joined: 02 Sep 2005 Posts: 19
|
We have a utility message broker flow project.
this has a schema:
com.xxx.yyy.zzz.helper
in there we have an ESQL file with some common utility functions:
CREAT FUNCTION myHelper (.....etc etc)
We have been happily using there from our many other message broker flow projects in different schemas by calling the functions using their fully qualifies schema path name and having the utility project references in our flow project as you would expect.
e.g. myDoStuffFlow as a reference to helper project... I call the function with:
CALL xxx.yyy.zzz.helper.myHelper(....)
All was well...
until for some reason none of us has been able to determine creating bars now results in cmfs being created that no longer have these utility functions included, and therefore they fail the deploy.
Looking at them in a text editor confirms it.
As far as the toolkit is concerned all is well, but no matter what we do... try PATH, try PROCEDURE instead of FUNCTION, clean the projects umpteen times, recreate new projects for the files.... the same thing happens: the toolkit is simply not adding the ESQL from the referenced projects into the cmf!
The toolkit definately knows about the reference... code completion on the utilities works, etc.
We are now out of ideas. As I say, the strangest thing is that it used to work, which of course leads us to believe someone has changed something that is affecting us all, but it still seems like decidely buggy behaviour.
Looking for any insight anyone might have reallly...
stu |
|
Back to top |
|
 |
P3AC3MAK3R |
Posted: Fri Aug 25, 2006 2:23 am Post subject: |
|
|
 Newbie
Joined: 25 Aug 2006 Posts: 4 Location: Germany
|
Hello,
is there already a solution for this problem?
I am experiencing the same (new ESQL functions do not appear in the Compiled Message Flow sometimes) with WebSphere Message Broker Toolkit version 6.0.0.1.
Does an update to version 6.0.0.2 help maybe?
Regards
P3AC3MAK3R |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Aug 25, 2006 2:51 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
When working across multiple projects, you have to make sure that all projects are successfully built before you attempt to put them in a bar file.
When working with projects through a source control system, you need to make sure that all the resources in the local projects are current with what you expect.
When experiencing issues with building bar files with the correct contents, the first thing to do is make sure that either you are using a brand new bar or you have removed all the resources that need to be updated and then saved the bar file.
Then you should make sure you have cleaned and built the project or projects successfully. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 25, 2006 3:00 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And make sure the dependency to that "universal" project has been clearly marked in the project you are trying to deploy... _________________ MQ & Broker admin |
|
Back to top |
|
 |
P3AC3MAK3R |
Posted: Sun Aug 27, 2006 11:59 pm Post subject: |
|
|
 Newbie
Joined: 25 Aug 2006 Posts: 4 Location: Germany
|
Hello,
I guess I did not describe my problem as detailed as necessary (my situation is not exactly the same as powerlord's; maybe splitting the thread makes sense!?).
Here the more detailed description:
Three WMBT projects are relevant for my problem: two message set projects and one message flow project. The message flow project contains a message flow file (*.msgflow), a message map file (*.msgmap; maps a message defined in the first message set project to a message defined in the second message set) and a message flow ESQL file (*.esql). The ESQL file contains several functions which I execute from the mapping.
I now have the problem that I created a new function in the ESQL file which does not appear in the BAR file for some reason.
I already did the following things which did not solve the problem:
* added a simple dummy function to the ESQL to preclude syntax errors in my other function (did not appear in the BAR file also)
* built a new BAR file
* cleaned all projects in my workspace
* used another PC with a WMBT installed
Do you have any other suggestions which may help me? _________________ Regards
P3AC3MAK3R |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Aug 28, 2006 2:43 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Check if build automatic is on. If not rebuild the project. If it is on, turn it off rebuild the project, turn it back on and try again...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
P3AC3MAK3R |
Posted: Mon Aug 28, 2006 3:33 am Post subject: |
|
|
 Newbie
Joined: 25 Aug 2006 Posts: 4 Location: Germany
|
Hello,
that does not seem to help, also.
I still get the following message in the event log:
Quote: |
BIP2558E: (.[nameOfMapping], 322.11) : Undefined function '.[nameOfFunction]'.
The program is attempting to call a function which is not defined or is not in the schema path.
Correct the logic of the ESQL program and re-deploy the message flow.
|
_________________ Regards
P3AC3MAK3R |
|
Back to top |
|
 |
P3AC3MAK3R |
Posted: Mon Aug 28, 2006 5:15 am Post subject: |
|
|
 Newbie
Joined: 25 Aug 2006 Posts: 4 Location: Germany
|
Hi,
I guess I ran into a very special bug.
The problem seems to be that a new ESQL function does not appear in a compiled message flow until it is used on a position in the map script that is *always* hit (I used the function on two positions in the map script which *might* be hit if certain conditions apply).
The workaround that helped me out was additionally executing the function on a position that is always hit (reserve field). Then the error message from my last posting disappeared... _________________ Regards
P3AC3MAK3R |
|
Back to top |
|
 |
|