建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块

postYouth

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-4-30 14:49:21 571 11 楼主 显示全部楼层
[入驻式求助] IVR流程加载JS报错

【问题简要】 IVR流程加载JS报错 【问题类别】vxml1.0 【IPCC解决方案版本】Version=CRSV300R006C87SPC600 OS=Linux 【问题现象描述】 IVR流程加载JS报错,内部创建script也是报这个错误。报错:        CATCH event=Eval Wrong,Maybe function inArray(str, arr) {         for (var i=0, len=arr.length; i<len; i++) {                 if (str == arr[i]) {                         return true;                 }         }         return false; }   UndefinedJS脚本:vxml.js  function inArray(str, arr) { for (var i=0, len=arr.length; i<len; i++) { if (str == arr[i]) { return true; } } return false; } function inArray2(str, arr) { for (x of arr) { if (str == x ) { return true; } } return false; }

回复 举报
分享

分享文章到朋友圈

分享文章到微博

联络中心_...

发帖: 5粉丝: 1

级别 : 注册会员

Rank: 2

发消息 + 关注

发表于2019-4-30 16:08:29 沙发 显示全部楼层

您好:

        请问您这边有ivr的trace日志吗?请附上日志,以便我这边定位分析问题。

点赞 回复 举报

postYouth

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-5-5 11:21:48 板凳 显示全部楼层

日志报错:

2019-04-12 13:21:08.541   99 Free CI Resource

2019-04-26 14:52:01.908   99 ======================XML_CALL_BEGIN======================

2019-04-26 14:52:01.908   99 CallInfo TrunkNO=6,CLI=<<45xxx98>>,CLD=<<021xxxxx001>>,CLOD=<<>>,

2019-04-26 14:52:01.908   99 sender_handle=8,sender_dsn=99,receiver_handle=14,receiver_dsn=2500,

2019-04-26 14:52:01.908   99 AccessCode=02120502001 VDN=10 Exec flow http://30.4.35.75:8080/vxml/index.xml Version=CRSV300R006C87SPC600 OS=Linux

2019-04-26 14:52:01.908   99 Monitor info ICDDebug=0 icdinsider=1 DebugMode=0 TraceFlag=0

2019-04-26 14:52:01.908   99 IE len=70, buf=74 14 41 03 06 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 01 00 82 03 41 03 3C 83 03 01 03 5C A1 08 00 00 00 00 96 00 08 00 A2 04 66 00 80 00 FC 03 00 00 00 E1 0C 30 32 31 32 30 35 30 32 30 30 31 00 

2019-04-26 14:52:01.908   99 Send alerting param: audio=255

2019-04-26 14:52:01.908   99 IVR(255)(8,99)->CCS(1)(14,2500): : 

2019-04-26 14:52:01.918   99 CCS(1)(14,2500)->IVR(255)(8,99): 


                                                               2019-04-26 14:52:01.918   99 RePlace CallID list: ssp=17417230 CallID='  1556261521  3168 14  0'

2019-04-26 14:52:01.918   99 Add CallID list: ssp=17417230 CallID='  1556261521  3168 14  0'

2019-04-26 14:52:01.977   99 CCS(1)(14,2500)->IVR(255)(8,99): ??:

2019-04-26 14:52:01.991   99 Answer param: SSP=17417230, ChgInd=0, ExtraDataLen=0

2019-04-26 14:52:01.991   99 IVR(255)(8,99)->CCS(1)(14,2500): ?


                                                                2019-04-26 14:52:02.362   99 CCS(1)(14,2500)->IVR(255)(8,99): ?


                                                                                                                                2019-04-26 14:52:02.362   99 The CUR_IVR_P_VER is 0x61008. The g_ulVerNego is 0x61008

2019-04-26 14:52:02.363   99 Interpreter JavaScript JS_GC Context=0xa51c468...OK!

2019-04-26 14:52:02.363   99 GetIeInfoValue function params: cMsgType = 1, cIeName = 126, cInfoName =0

2019-04-26 14:52:02.363   99 find  ET_USER_USER return null.

2019-04-26 14:52:02.363   99 Interpreter get Document... FullUrl: http://30.4.35.75:8080/vxml/index.xml  method: 0  caching type: 0

2019-04-26 14:52:02.363   99 Get File

2019-04-26 14:52:02.363   99 NO Cookie To Send!

2019-04-26 14:52:02.367   99 GetURLPage success return.

2019-04-26 14:52:02.367   99 CVxmlCharge::URLHit start

2019-04-26 14:52:02.367   99 CVxmlCharge::URLHit end

2019-04-26 14:52:02.367   99 BEGIN=2383152115, END=2383152120, TOTIAL=5, GET=http://30.4.35.75:8080/vxml/index.xml?

2019-04-26 14:52:02.367   99 Interpreter get document file succeed!

2019-04-26 14:52:02.367   99 Begin parser document...

2019-04-26 14:52:02.367   99 asrserviceid= ServiceId=1

2019-04-26 14:52:02.367   99 sOldAppName=, sAppName=http://30.4.35.75:8080/vxml/index.xml?

2019-04-26 14:52:02.368   99 new::VxmlDocument 0xc33e108, http://30.4.35.75:8080/vxml/index.xml?

2019-04-26 14:52:02.369   99 Begin parser document...OK!

2019-04-26 14:52:02.369   99 1VxmlParserEnd()...OK!

2019-04-26 14:52:02.369   99 Parse document Succeed!

2019-04-26 14:52:02.369   99 BEGIN=2383152120, END=2383152121, TOTIAL=1

2019-04-26 14:52:02.369   99 Interpreter now send new DGid, but no new grammar need to send.

2019-04-26 14:52:02.369   99 Interpreter GO ...

2019-04-26 14:52:02.369   99   Current dialog:start

2019-04-26 14:52:02.369   99 Execute Block: block1590

2019-04-26 14:52:02.369   99 Interpreter get Document... FullUrl: http://30.4.35.75:8080/vxml/judgeHoliday.xml  method: 0  caching type: 0

2019-04-26 14:52:02.369   99 Get File

2019-04-26 14:52:02.369   99 NO Cookie To Send!

2019-04-26 14:52:02.371   99 GetURLPage success return.

2019-04-26 14:52:02.371   99 CVxmlCharge::URLHit start

2019-04-26 14:52:02.371   99 CVxmlCharge::URLHit end

2019-04-26 14:52:02.371   99 BEGIN=2383152121, END=2383152123, TOTIAL=2, GET=http://30.4.35.75:8080/vxml/judgeHoliday.xml?

2019-04-26 14:52:02.371   99 Interpreter get document file succeed!

2019-04-26 14:52:02.371   99 Begin parser document...

2019-04-26 14:52:02.371   99 asrserviceid= ServiceId=1

2019-04-26 14:52:02.371   99 sOldAppName=http://30.4.35.75:8080/vxml/index.xml?, sAppName=http://30.4.35.75:8080/vxml/judgeHoliday.xml?

2019-04-26 14:52:02.371   99 new::VxmlDocument 0xe3a45c0, http://30.4.35.75:8080/vxml/judgeHoliday.xml?

2019-04-26 14:52:02.372   99 Get File

2019-04-26 14:52:02.372   99 Begin parser document...OK!

2019-04-26 14:52:02.372   99 1VxmlParserEnd()...OK!

2019-04-26 14:52:02.372   99 Parse document Succeed!

2019-04-26 14:52:02.372   99 BEGIN=2383152123, END=2383152125, TOTIAL=2

2019-04-26 14:52:02.373   99 Goto Dialog:isWorking

2019-04-26 14:52:02.373   99 Warning setting Leaf's application, try to set root's root

2019-04-26 14:52:02.373   99 delete::VxmlDocument 0xe3a45c0, http://30.4.35.75:8080/vxml/judgeHoliday.xml?

2019-04-26 14:52:02.373   99 Interpreter meet error in init the document :http://30.4.35.75:8080/vxml/judgeHoliday.xml? 

2019-04-26 14:52:02.373   99 CATCH event=Eval Wrong,Maybe function inArray(str, arr) {

        for (var i=0, len=arr.length; i<len; i++) {

                if (str == arr[i]) {

                        return true;

                }

        }

        return false;

} Undefined

2019-04-26 14:52:02.373   99 ExecList Exec catch event:error.semantic Eval Wrong,Maybe function inArray(str, arr) {

        for (var i=0, len=arr.length; i<len; i++) {

                if (str == arr[i]) {

                        return true;

                }

        }

        return false;

} Undefined


点赞 回复 举报

联络中心_...

发帖: 1粉丝: 1

级别 : 注册会员

Rank: 2

发消息 + 关注

发表于2019-5-5 15:10:55 地板 显示全部楼层

您好,

从现有日志分析,是流程加载js去解析:http://30.4.35.75:8080/vxml/judgeHoliday.xml这个文件时,没有识别到inArray(str, arr)这个函数,所以麻烦您将您的流程源文件index.xml以及js脚本judgeHoliday.xml两个源文件附上,我需要排查下流程文件中是否问题,麻烦了!!

点赞 回复 举报

postYouth

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-5-5 18:14:46 5# 显示全部楼层

<?xml version="1.0" encoding="UTF-8"?>

<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/vxml http://www.w3.org/TR/voicexml20/vxml.xsd">

<property name="inputmodes" value="dtmf"/>

<property name="scriptmaxage" value="0"/>

<property name="caching" value="fast"/>

<var name="startWorktime1" expr="'09:00:00'"/>

<var name="endWorktime1" expr="'12:00:00'"/>

<var name="startWorktime2" expr="'13:30:00'"/>

<var name="endWorktime2" expr="'18:00:00'"/>

<var name="holiday" expr="'20180101,20180215,20180216,20180217,20180218,20180219,20180220,20180221,20180405,20180406,20180407,20180429,20180430,20180501,20180616,20180617,20180618,20180922,20180923,20180924,20181001,20181002,20181003,20181004,20181005,20181006,20181007'"/>

<var name="weekendWorkday" expr="'20180211,20180224,20180408,20180428,20180929,20180930'"/>

    <form id="isWorking">

<script src="vxml.js"/>

<block>

<log>Info: ****** judge holiday ******</log>

<if cond="isWorking()==true">

<log>Info: ****** result is <value expr="isWorking()"/>, go to working ******</log>

<goto next="index.xml#working"/>

<else/>

<log>Info: ****** result is <value expr="isWorking()"/>, go to holiday ******</log>

<goto next="#holiday"/>

</if>

</block>

    </form>

<form id="holiday">

<block>

<prompt>

<audio src="holiday.wav">

休息时间,请稍后来电

</audio>

</prompt>

<log>Info: ****** holiday end ******</log>

</block>

</form>

</vxml>


点赞 回复 举报

postYouth

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-5-5 18:15:41 6# 显示全部楼层

js:



function inArray(str, arr) {

    for (var i=0, len=arr.length; i<len; i++) {

        if (str == arr[i]) {

            return true;

        }

    }

    return false;

}

// isWorking函数: 上班返回true, 不上班返回false.

function isWorking() {

    var date = new Date();

    w = date.getDay();

    arrHoliday = holiday.split(',');

    arrWeekendWorkday = weekendWorkday.split(',');

    arrWorkday = workday.split(',');

    if(inArray2(w, arrWorkday)) {         

        if(inArray2(dateFtt('yyyyMMdd'), arrHoliday)) {

            return false

        } else {

            if(isWorktime() === true) {

                return true;

            } else {

                return false;

            }

        }

    } else {

        if (inArray2(dateFtt('yyyyMMdd'), arrWeekendWorkday)) {

            if(isWorktime() === true) {

                return true;

            } else {

                return false;

            }

        } else {

             return false;

        } 

    }

}


点赞 回复 举报

联络中心_...

发帖: 1粉丝: 1

级别 : 注册会员

Rank: 2

发消息 + 关注

发表于2019-5-6 12:09:39 7# 显示全部楼层

您好:

调用js脚本时需要将参数通过函数入参的形式传入js中进行使用,不能在js脚本中直接使用外部vxml中定义的变量,这样会导致js中定义的函数不生效的,您修改下看看问题是否能够得到解决,多谢啦!!!

点赞 回复 举报

postYouth

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-5-10 20:40:21 8# 显示全部楼层

这个还没有进行调用,还在VXML加载JS阶段。执行这个时就报错了<script src="vxml.js"/>

点赞 回复 举报

联络中心_...

发帖: 1粉丝: 1

级别 : 注册会员

Rank: 2

发消息 + 关注

发表于2019-5-11 11:09:33 9# 显示全部楼层

您好,

您这个问题我在本地用demo验证过,如果js中出现的参数并非在js中定义的或者通过函数入参传进来的话,加载js脚本是不会成功的,自然外边调用的时候会报函数未定义的错误,所以还是建议您先将js中需要用到外部流程的参数通过入参传进去验证下,多谢啦!!!

点赞 回复 举报

postYouth

发帖: 2粉丝: 0

级别 : 新手上路

Rank: 1

发消息 + 关注

发表于2019-5-13 13:56:00 10# 显示全部楼层

我在js里把要用到的参数先声明了也不行。华为vxml支持核准的 ECMAScript 5或6?

JS:

var str='',

arr=[];

function inArray(str, arr) {

    for (var i=0, len=arr.length; i<len; i++) {

        if (str == arr[i]) {

            return true;

        }

    }

    return false;

}



报错:

2019-05-13 13:44:56.653   11 CATCH event=Eval Wrong,Maybe var str='',

        arr=[];

function inArray(str, arr) {

    for (var i=0, len=arr.length; i<len; i++) {

        if (str == arr[i]) {

            return true;

        }

    }

    return false;

}




点赞 回复 举报

游客

您需要登录后才可以回帖 登录 | 立即注册