Plivo PHLO中HTTP请求生成的动态SSML在Get Input节点报无效的解决方法
Plivo PHLO关联HTTP返回SSML触发Invalid SSML报错
问题背景
开发中需要为Plivo PHLO平台生成动态Amazon Polly SSML,实现效果为:用户拨打指定号码时,播放指定语言的自定义欢迎提示,同时引导用户输入数字。
实现逻辑为:在PHLO中配置HTTP request组件调用自有API,API侧通过Plivo PHP Server SDK生成SSML返回,核心实现代码如下:
$response = new Response(); $speak_elem = $response->addSpeak($result['text'], ['language'=> 'en-US', 'voice'=>"Polly.Joanna"]); Header('Content-type: text/xml'); die( $response->toXML() );
测试确认HTTP Request组件运行正常,返回的SSML格式合规:将接口返回的SSML内容硬编码粘贴到Get Input节点中可以正常运行,接口返回的SSML示例如下:
<?xml version="1.0" encoding="utf-8"?> <Response><Speak language="en-US" voice="Polly.Joanna">Welcome To 101 Broadway. For English, press 1.</Speak></Response>
实际配置时出现故障:将Get Input组件的prompt音频源关联为HTTP请求返回的SSML时,系统返回Invalid SSML错误。
已尝试排查方案
已完成以下排查操作,均未解决问题:
- 直接返回纯XML格式SSML,通过
{{HTTP_Welcome.response}}变量引用 - 将SSML作为文本字段放入名为SSML的JSON对象中返回,通过
{{HTTP_Welcome.response.SSML}}变量引用 - 分别测试返回内容带/不带xml声明标签的场景
- 分别测试返回内容带/不带Result标签的场景
- 间隔一段时间后重新测试,排除临时缓存、操作失误类偶发问题
目前无论采用何种返回格式、何种变量引用方式关联Get Input的prompt,均无法正常运行,现确认该场景是否可实现,征集可行解决方案。
原提问附2张参考截图:分别为SSML有效性验证结果、PHLO平台报错信息。
内容的提问来源于stack exchange,提问作者Dutchie432
相关产品推荐
相关产品推荐

