我要将3个Watson服务从旧帐户转移到Lite帐户(以避免在12月1日收费)。文字转语音和助手服务在新帐户中都可以正常工作,但是语音转文字(STT)服务出现了401未经授权的错误。如我的IBM控制台仪表板所示,使用IAM apikey和关联的URL实例化这三个实例。如果我将STT切换回我的旧帐户(用户名/密码凭据),则可以与其他两个IAM服务一起正常使用。该环境是一个基于Java Spring的网站,使用最新的watson java-sdk(6.9.1)和最新的speech-javascript-sdk。这是日志中的相关条目:
2018年11月12日下午1:42:13 okhttp3.internal.platform.Platform日志信息: ->获取https://stream.watsonplatform.net/authorization/api/%2Fv1%2Ftoken?url=https%3A%2F%2Fstream.watsonplatform.net%2Fspeech-to-text%2Fapi http / 1.1
2018年11月12日下午1:42:13 okhttp3.internal.platform.Platform日志信息: <-HTTP失败:java.io.IOException:流的意外结束 连接{stream.watsonplatform.net:443,代理=直接 hostAddress = stream.watsonplatform.net / 169.61.44.182:443 cipherSuite = TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384协议= http / 1.1}
2018年11月12日下午1:42:17 okhttp3.internal.platform.Platform日志信息: ->获取https://stream.watsonplatform.net/authorization/api/%2Fv1%2Ftoken?url=https%3A%2F%2Fstream.watsonplatform.net%2Fspeech-to-text%2Fapi http / 1.1
2018年11月12日下午1:42:17 okhttp3.internal.platform.Platform日志信息: <-301永久移动 https://stream.watsonplatform.net/authorization/api/%2Fv1%2Ftoken?url=https%3A%2F%2Fstream.watsonplatform.net%2Fspeech-to-text%2Fapi (89ms,129字节的正文)
2018年11月12日下午1:42:17 okhttp3.internal.platform.Platform日志信息: ->获取https://stream.watsonplatform.net/authorization/api/v1/token?url=https%3A%2F%2Fstream.watsonplatform.net%2Fspeech-to-text%2Fapi http / 1.1 2018年11月12日下午1:42:17 okhttp3.internal.platform.Platform 日志
信息:<-401未经授权 https://stream.watsonplatform.net/authorization/api/v1/token?url=https%3A%2F%2Fstream.watsonplatform.net%2Fspeech-to-text%2Fapi (116ms,103字节的正文)
2018年11月12日下午1:42:18 com.ibm.watson.developer_cloud.service.WatsonService processServiceCall严重:GET https://stream.watsonplatform.net/authorization/api/v1/token?url=https%3A%2F%2Fstream.watsonplatform.net%2Fspeech-to-text%2Fapi, 状态:401,错误:未经授权
我试图确定是什么原因导致unexpected end of stream
(在这里可能是真正的问题)而没有成功。对于傻笑,我尝试在实例化SpeechToText之后立即添加一个调用以检索SpeechModels列表,并且效果很好!非常好奇。上面最后一个错误附带的“提示”询问是否设置了端点,是的,它设置正确。
任何帮助都将不胜感激。
答案 0 :(得分:1)
没关系。我专注于Java错误,但并未在等式的javascript端仔细观察。我在node.js sdk中找到了此注释:
我以前的帐户中的注意:使用X-Watson-Authorization-Token标头或 watson-token查询参数现已弃用。代币继续 与Cloud Foundry服务一起使用,但服务不支持 使用身份和访问管理(IAM)身份验证的人。
STT是Cloud Foundry服务,因此它可以继续工作。我不好做更多的研究...