Posted on 2009-09-04 15:23
孤独的狼 阅读(228)
评论(0) 编辑 收藏
1,
VoiceException:
error.noresource
MRCP Recognition Error
Dialog stack trace:
State (Dialog) URL (Document)
-------------- ------------------------------
原因:缺少相关资源,可能是VXML需要的attribute值不满足要求,也可能是引用的相关文件找不到;例:
a,下面如果是文件找不到会报404的错误,但是我在Filter里把number.jsp过滤掉后,就报这个错了;
<form id="login_userId">
<field name="userId1" slot="number">
<prompt>
<aivr:dialog key="action.login.input.userId" />
</prompt>
<grammar src="../grammars/t0/number.jsp#UpTo16Digits" type="text/gsl"/>
<grammar src="../grammars/t1/number.jsp#UpTo16Digits" type="text/gsl"/>
</field>
<filled>
<assign name="userId" expr="userId1"/>
<goto next="#login_pinNumber"/>
</filled>
</form>
这里如果找不到number.jsp文件会引发该错误;
b, 下面的scope如果设为private,也会报相同的错误;
<grammar type="grammar-xml">
<rule id="menuRule" scope="public">
<item>dtmf-1</item>
</rule>
</grammar>
2, com.mot.icsd.voxml.core.CoreException: XML parse errors occurred in:
http://bruin-li:8088/AccelaIVRDev/dialogures/serviceRequest/readCapType.jsp?num=3
出现该出错误是由于URL指向的页面的标签出错。
3,这是一个奇怪的问题,代码如下:
<var name="sendWay" expr="''"/>
<form id="sendWay">
<field name="way" slot="number">
<prompt>
<aivr:dialog key="action.sendReport.input.reportMethod" />
</prompt>
<grammar src="../../grammars/t0/report.jsp#SendWay110" type="text/gsl"/>
</field>
<filled>
<assign name="sendWay" expr="way"/>
<goto next="#sending"/>
</filled>
</form>
<form id="sending">
<block>
<submit next="<%=action %>" namelist="sendWay"></submit>
</block>
</form>
report.jsp#SendWay110:
SendWay110
[
dtmf-1 {<way fax>}
dtmf-2 {<way email>}
]
从以上代码可以看到,红字部分是错误的,但是这种情况下,prophecy不会报错,而且还能够得到用户的输入;但在submit最后产生的URL时的参数是:<%=action %>?sendWay.way=email, 为什么会这样我现在也不清楚,其实VXML开发的最难调试的就是这种问题,没有好的一个错误提示,或是个错误的错误提示。
上面为开发过程中遇到的一些问题,特此汇总之,以便以后查阅。