Ibm cloud Watson语音到文本寄存器的回调仅返回400s

Ibm cloud Watson语音到文本寄存器的回调仅返回400s,ibm-cloud,speech-to-text,ibm-watson,Ibm Cloud,Speech To Text,Ibm Watson,允许通过调用register\u callback注册回调url。这一呼吁显然不起作用;如需说明,请参阅以下六行代码 #演示我如何无法将沃森的演讲转化为文字 #注册您的回拨电话以开始工作。 r=请求数.post( "https://stream.watsonplatform.net/speech-to-text/api/v1/register_callback?{0}.格式( urllib.urlencode({“callback_url”:callback_url})), auth=(沃森用户

允许通过调用
register\u callback
注册回调url。这一呼吁显然不起作用;如需说明,请参阅以下六行代码

#演示我如何无法将沃森的演讲转化为文字
#注册您的回拨电话以开始工作。
r=请求数.post(
"https://stream.watsonplatform.net/speech-to-text/api/v1/register_callback?{0}.格式(
urllib.urlencode({“callback_url”:callback_url})),
auth=(沃森用户名,沃森密码),
data=“{}”)
打印(r.状态\ U代码)
打印(pprint.pformat(r.json()))
#这将产生:
# 400
#{u'code':400,
#u'code_description':u'Bad Request',
#u'error':u“无法验证回调url”https://xuyv2beqpj.execute-api.us-east-1.amazonaws.com/prod/SpeechToTextCallback,服务器响应,状态代码为:400“}
#服务器上没有记录http调用。
r=requests.get(
callback\u url,params=dict(challenge\u string=“编辑的意思是什么?”)
打印(r.状态\ U代码)
打印(右文本)
#这将产生:
# 200
#编辑是什么意思?
#服务器上会记录一个HTTP GET。

我首先使用一个完全有效的
callback\u url
参数调用
register\u callback
,方法与文档描述的完全相同。这个调用返回400,根据我的回调URL服务器日志,回调URL从未收到HTTP请求。然后我自己用一个
challenge\u字符串
获取回调URL。回调URL不仅响应正确的输出,而且在我的服务器上会出现一个日志,指示URL接收到HTTP请求。我的结论是,
register\u call
不起作用。

回答:

我们发现了问题所在:对URL进行出站调用的服务器不支持回调服务器使用的SSL加密方法。我们已经解决了这个问题,我们正在很快推进生产环境

供参考:

带有400的错误消息表示回调URL不符合要求 请求或不存在。详情请参阅 语音到文本服务API文档,

如果服务未收到响应代码为200的响应 还有一个身体,它会回响来自大脑的随机字母数字挑战字符串 在5秒内回调URL,不将URL列入白名单;信息技术 发送响应代码400以响应注册请求


回答:

我们发现了问题所在:对URL进行出站调用的服务器不支持回调服务器使用的SSL加密方法。我们已经解决了这个问题,我们正在很快推进生产环境

供参考:

带有400的错误消息表示回调URL不符合要求 请求或不存在。详情请参阅 语音到文本服务API文档,

如果服务未收到响应代码为200的响应 还有一个身体,它会回响来自大脑的随机字母数字挑战字符串 在5秒内回调URL,不将URL列入白名单;信息技术 发送响应代码400以响应注册请求


我们刚刚解决了您报告的问题。问题出在我们这边,负责回调您设置的服务器的服务器不支持建立SSL连接所需的密码套件。我们刚刚更新了服务器,我们很高兴得知它现在为您工作:)


Dani

我们刚刚解决了您报告的问题。问题出在我们这边,负责回调您设置的服务器的服务器不支持建立SSL连接所需的密码套件。我们刚刚更新了服务器,我们很高兴得知它现在为您工作:)


Dani

感谢您打开支持票。只是尝试了curl命令;完全相同的结果(正如人们所期望的,因为我的python代码发出与curl命令完全相同的http请求)。不确定这与证书链有什么关系。文档中的示例使用http作为回调URL,而您的使用https,因此这可能会导致问题。啊,明白了。刚刚尝试使用http而不是https,同样的行为。@AdamDuston添加了支持响应。您好Adam,我确实看到关于您的URL的日志上的回调验证失败。事情发生在昨天,UTC时间2016-07-04 00:02:45783。我确实在日志中看到了400代码,这意味着在尝试验证回调时出现了问题。我刚刚直接尝试了一下你的URL,看到了以下响应:curl{“message”:“缺少身份验证令牌”}->“HTTP/1.1 403禁止”,你能检查一下并告诉我你的URL准备好了吗?我会亲自检查管道,谢谢你打开支持票。只是尝试了curl命令;完全相同的结果(正如人们所期望的,因为我的python代码发出与curl命令完全相同的http请求)。不确定这与证书链有什么关系。文档中的示例使用http作为回调URL,而您的使用https,因此这可能会导致问题。啊,明白了。刚刚尝试使用http而不是https,同样的行为。@AdamDuston添加了支持响应。您好Adam,我确实看到关于您的URL的日志上的回调验证失败。事情发生在昨天,UTC时间2016-07-04 00:02:45783。我确实在日志中看到了400代码,这意味着在尝试验证回调时出现了问题。我刚刚直接尝试了一下你的URL,看到了以下响应:curl{“message”:“缺少身份验证令牌”}->“HTTP/1.1 403禁止”,你能检查一下并告诉我你的URL准备好了吗?我会亲自检查管道