Sometimes you land up in this very awkward situation with APDE:
A workflow (called_workflow
) which is called by another workflow (calling_workflow
) in your project is very much existing in your APDE project, but you still can't package the tcdriver
. Every time you try to do so, the workflow2Java
step fails with an error like:
message = cannot find symbol: method called_workflow(),location: class com.ibm....
The reason for this as I guess is, the server side does not
a (updated) copy of the workflow in question (called_workflow), though
its very much there in your local APDE environment! Hence when APDE
tries to generate the Java code for calling_workflow (APDE uses the TPM
server's copies of the workflows to generate the Java code for a
workflow), it is not able to find the definition of called_workflow on
TPM server and puts a statement like this into the generated
Java code of call
called_workflow(); //Workflow Not Found Error
And when this generated Java file is compiled, naturally the compilation fails, as there is no
Java method called called_workflow()! This can be pretty frustrating
(like me and my team-mates often were) to come around the situation. This is what I discovered as a work-around, after a lot of hit and trial:
your APDE project, running ant-command "clean" of the project's
build.xml. This will remove all the generated Java files from the
- Open the workflow in question (called_workflow) and
compile it explicitly, using the Workflow -> Compile command from the
toolbar. This will compile the workflow and sync it with the TPM
Note: As an additional check, you can remove the TPM
server's copy (if exists) from the workflow view before doing step 2 and
check if the server's copy is regenerated after doing step 2.
package your project, running and-command "package" of build.xml. This
time the tcdriver should package fine, without the above error.
Without doing step 2 this error will mostly NOT go away, no matter how many times you 'clean' and 'package' the project.
The "Build Automatically" option of APDE could come to your rescue, if you face the above problem frequently.
This option automatically builds all projects which are not in sync
with the TPM server, to sync them up. So if there are many projects in
your workspace which are out of sync with TPM server, then turning on
this option could make APDE unresponsive for long times. That's the
reason why we tend to put this option OFF most of the times. But when
APDE is idle, this option should be left turned ON, so that your APDE
environment is always in sync with APDE. Once the APDE projects are in
sync with TPM server, this option does not hog the processor for long.
All information in this entry may not
be 100% accurate, though I
try to keep this most accurate as per my knowledge. Standard disclaimer