VoiceGuide IVR Software Main Page
Jump to content

Run Module Problem

Recommended Posts

I am having a problem a Run Program Module. Basically it calls a java function to perform various database operations. It worked a few times so I turned voiceguide off and took a break. When I returned I added a hangup module much farther down in the code and turned it back on, it would no longer run the module. I had logging turned on, here is the last working entry:

 

[Run lookforcc.java] Run Program

133833.41 3 rv replace start: [java lookforcc $RV_LINEID $RV[getccnum]]

133833.41 3 rvns [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}

[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[$RV_STARTTIME]

{4/10/2007 1:38:18 PM}[$RV_DEVICEID]{3}[DlgcNetworkResource]{dxxxB1C3}[DlgcVoiceResource]{dxxxB1C3}

$RV_CIDNAME]{}

[PathApp]{C:\Program Files\VoiceGuide\}[scriptsPath]{C:\VG6\}[$RV_CIDNUMBER]{}[set incorrect_Input]{0}[set incorrect]

{0}[incorrect]{0}[getccnum]{1234123412341234}[getccnum_PathTaken]{success}

 

133833.41 3 rv replace end: [java lookforcc 3 1234123412341234]

133833.41 3 run=java lookforcc 3 1234123412341234, window=MaximizedFocus, wait=1

133833.41 3 Run Program waiting... (shellid=6112, process=1552)

133833.41 3 timer set 1 EV_TIMEOUT_CHECKONSTATE

133834.43 3 timer fired EV_TIMEOUT_CHECKONSTATE

133834.43 3 event EV_TIMEOUT_CHECKONSTATE, iCode=9007 state=1501

133834.43 3 LsRunWaitTillFinished EV_TIMEOUT_CHECKONSTATE,EV_TIMEOUT_CHECKONSTATE

133834.43 3 path {EV_TIMEOUT_CHECKONSTATE} not found

133834.43 3 task completed (shellid=6112, process=1552) vgm=58, iRunWait=1, iRunWait_ExeResult_NextVgm=0

133834.43 3 Found result file: C:\VG6\VGRUNRESULT_3.TXT

 

Non Working

 

 

Run lookforcc.java] Run Program

150648.29 3 rv replace start: [java lookforcc $RV_LINEID $RV[getccnum]]

150648.29 3 rvns [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}

[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[$RV_STARTTIME]

{4/10/2007 3:06:34 PM}[$RV_DEVICEID]{3}[DlgcNetworkResource]{dxxxB1C3}[DlgcVoiceResource]{dxxxB1C3}

$RV_CIDNAME]{}

[PathApp]{C:\Program Files\VoiceGuide\}[scriptsPath]{C:\VG6\}[$RV_CIDNUMBER]{6}[set incorrect_Input]{0}[set incorrect]

{0}[incorrect]{0}[getccnum]{1234123412341234}[getccnum_PathTaken]{success}

 

150648.29 3 rv replace end: [java lookforcc 3 1234123412341234]

150648.29 3 run=C:\VG6\java lookforcc 3 1234123412341234, window=MaximizedFocus, wait=1

150648.29 3 Run Program Failed, err[5:Invalid procedure call or argument] running[C:\VG6\java lookforcc 3 4323847752321618] returned .dShellId=0

150648.29 3 next module is [Good Card?] (idx=61)

 

I noticed two differences, first the CIDNUMBER was set in the second test, but I found out this is not critical as in other test it was {} and it still didn't work. The other difference is:

 

150648.29 3 run=C:\VG6\java lookforcc 3 1234123412341234, window=MaximizedFocus, wait=1

 

In both setups the Program Details is set to:

java lookforcc $RV_LINEID $RV[getccnum]

 

I have found if I open a command window and try to run java lookforcc 1 1234123412341234 it runs just fine but C:\VG6\java lookforcc 1 1234123412341234 doesn't. I cannot figure out how to the run statement to behave as it did in the working trials or why it changed. Im at my wits end, please help ;-)

 

I am running voiceguide 6.0.3003 under windows server 2003.

Share this post


Link to post

You need to specify a full path to the java interpreter and the lookforcc script.

 

The “Invalid procedure call or argument” error is occurring as either the 'java' or the 'lookforcc' cannot be found in current path.

Share this post


Link to post
You need to specify a full path to the java interpreter and the lookforcc script.

 

The “Invalid procedure call or argument” error is occurring as either the 'java' or the 'lookforcc' cannot be found in current path.

 

Im not sure what you mean, I have tried (and tried again to verify) putting:

 

c:\VG6\java lookforcc $RV_LINEID $RV[getccnum]

 

into the Program Details and it did not fix the problem. I assume whatever I see in the log line under run= is just going to be like me opening a dos window and typing in the same thing from the directory the script is in, is this correct? The problem is in windows 2003, typing:

 

C:\VG6\java lookforcc 3 1234123412341234, window=MaximizedFocus, wait=1

 

At the command prompt results in an error, unlike windows XP where that will work and dig out the file at that location. An example of this is shown the pasted data below:

 

C:\VG6>c:\vg6\java lookforcc 3 1234123412341234

'c:\vg6\java' is not recognized as an internal or external command,

operable program or batch file.

 

C:\VG6>java lookforcc 3 1234123412341234

 

C:\VG6>

 

 

 

So is there anyway I can prevent Voiceguide from putting in the path statement in front of my command. From the log entries I know its possible and happended before, but I cant figure out how to do that again.

Share this post


Link to post

Where is the "java.exe"program on your system?

 

It usually is found in Windows' System32 directory, so you could try using this command line:

 

C:\Windows\System32\java lookforcc $RV_LINEID $RV[getccnum]

 

in windows 2003,

..

results in an error, unlike windows XP where that will work and dig out the file at that location

Is Java installed on your Win2003 system? Where (in what path) is it installed?

Share this post


Link to post

Java is installed in c:\java\bin and this is set in the environment variables in the user path. I tried setting the path right to where the executable is. Below is the log output:

 

222252.52 3 rv replace start: [c:\java\bin\java lookforcc $RV_LINEID $RV[getccnum]]

222252.52 3 rvns [PathSysVoice]{C:\Program Files\VoiceGuide\system\voice\}[PathApp]{C:\Program Files\VoiceGuide\}[PathDataVm]{C:\Program Files\VoiceGuide\data\}[PathVgSys]{C:\Program Files\VoiceGuide\system\}[$RV_STARTTIME]{4/10/2007 10:22:39 PM}[$RV_DEVICEID]{3}[DlgcNetworkResource]{dxxxB1C3}[DlgcVoiceResource]{dxxxB1C3}

$RV_CIDNAME]{}[PathApp]{C:\Program Files\VoiceGuide\}[scriptsPath]{C:\VG6\}[$RV_CIDNUMBER]{}[set incorrect_Input]{0}[set incorrect]{0}[incorrect]{0}[getccnum]{1234123412347896}[getccnum_PathTaken]{succ

ss}

222252.52 3 rv replace end: [c:\java\bin\java lookforcc 3 1234123412347896]

222252.52 3 run=C:\VG6\java lookforcc 3 1234123412347896, window=MaximizedFocus, wait=2

222252.52 3 Run Program Failed, err[5:Invalid procedure call or argument] running[C:\VG6\java lookforcc 3 1234123412347896] returned .dShellId=0

222252.52 3 next module is [Good Card?] (idx=30)

 

I notice when it came to run= it didn't carry over. Is there anything I can do to better control what ends up in the that run= l line?

 

Also I really appreciate the quick responses.

Share this post


Link to post

Does the c:\java\bin\java lookforcc 3 1234123412347896 command work when it's ran at the command prompt in the DOS box?

 

once you have the command working at the DOS prompt try using that command in the Run Program module, optionally prefixing the command with:

 

command /c

Share this post


Link to post

At the dos box C:\java\bin\java lookforcc 3 1234123412347896 does not work. If I add the command /c string the command command /c java lookforcc 3 1234123412347896 does work. I put this into my voiceguide script and it is hitting a different error. Now the error is

 

 

085236.20 3 run=command /c java lookforcc 3 1234567898765432, window=MaximizedFocus, wait=2

085236.20 3 Run Program Failed, err[53:File not found] running[command /c java lookforcc 3 1234567898765432] returned .dShellId=0

085236.20 3 next module is [Good Card?] (idx=30)

 

Now two things I notice. First I had to move a copy of my java class files (lookforcc ) to c:\documents and settings\cfadmin\ directory as this is the default directory for the dos prompt. Second I know the script is actually running because it is creating the VGRUNRESULT_3.txt file. First it was creating it in the c:\documents and settings\cfadmin\ directory, and as expected that did not work, but I could confirm the next Program Details was working. So I changed the output to be created in the c:\vg6\ directory where the voiceguide file is located. I still got the error above in the log but I can see the VGRUNRESULT_3.txt file being created in the c:\vg6\ directory, so I know it is running now. Any thoughts on why the file is not being picked up?

Share this post


Link to post

Well actually, Im still getting the file not found error but the VGRUNRESULT_3.txt file is not being created.

Share this post


Link to post

I believe I have correct the problem. The command idea was a good start, cmd worked. I used the Program Detail:

cmd /C java -classpath c:\vg6\;c:\coinfree\javaservers lookforcc $RV_LINEID $RV[getccnum]

 

I still cant figure out what directory this is run from but by using classpath to make java work from anywhere and cmd to keep VG from putting the path in front, it runs successfully. Thanks for all your help and the quick responses to my inquires.

Share this post


Link to post

Good to hear it's all been sorted out.

 

Regarding:

I still got the error above in the log but I can see the VGRUNRESULT_3.txt file being created in the c:\vg6\ directory, so I know it is running now. Any thoughts on why the file is not being picked up?
The VGRUNRESULT files should be placed in VoiceGuide script's directory.

 

In general we recommend using the COM interface (Run_ResultReturn, Script_Goto, Script_Gosub, etc) rather then returning results using VGRUNRESULT files. It avoids the delay associated with reading in the VGRUNRESULT files.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×