coze-dev / coze-dev/coze-java

发起对话接口,处理http 400异常报错

未关闭
#89 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Java
星标
214
派生
98
PR 合并指标
30 天内没有已合并 PR

描述

com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'missing': was expecting ('true', 'false' or 'null')
at [Source: missing required Host header; line: 1, column: 8]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702) ~[jackson-core-2.8.10.jar!/:2.8.10]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:558) ~[jackson-core-2.8.10.jar!/:2.8.10]
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2839) ~[jackson-core-2.8.10.jar!/:2.8.10]
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1903) ~[jackson-core-2.8.10.jar!/:2.8.10]
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:749) ~[jackson-core-2.8.10.jar!/:2.8.10]
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3850) ~[jackson-databind-2.8.10.jar!/:2.8.10]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3799) ~[jackson-databind-2.8.10.jar!/:2.8.10]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2858) ~[jackson-databind-2.8.10.jar!/:2.8.10]
at com.coze.openapi.service.service.common.AbstractEventCallback.onResponse(AbstractEventCallback.java:43) ~[coze-api-0.1.6.jar!/:?]
at retrofit2.OkHttpCall$1.onResponse$original$uVqJCFM2(OkHttpCall.java:161) ~[retrofit-2.9.0.jar!/:?]
at retrofit2.OkHttpCall$1.onResponse$original$uVqJCFM2$accessor$2S6hJ1Vv(OkHttpCall.java) ~[retrofit-2.9.0.jar!/:?]
at retrofit2.OkHttpCall$1$auxiliary$uF9zybcp.call(Unknown Source) ~[retrofit-2.9.0.jar!/:?]
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86) ~[skywalking-agent.jar:8.6.0]
at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java) ~[retrofit-2.9.0.jar!/:?]
at okhttp3.RealCall$AsyncCall.execute$original$bM12vPzc(RealCall.java:174) ~[okhttp-3.14.6.jar!/:?]
at okhttp3.RealCall$AsyncCall.execute$original$bM12vPzc$accessor$WsNoXPUc(RealCall.java) ~[okhttp-3.14.6.jar!/:?]
at okhttp3.RealCall$AsyncCall$auxiliary$USEDluia.call(Unknown Source) ~[okhttp-3.14.6.jar!/:?]
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86) ~[skywalking-agent.jar:8.6.0]
at okhttp3.RealCall$AsyncCall.execute(RealCall.java) ~[okhttp-3.14.6.jar!/:?]
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) ~[okhttp-3.14.6.jar!/:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_202]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_202]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]

![Image](https://github.com/user-attachments/assets/d9a4ec6a-d71d-4018-ac17-a3bb6d5c7595)

怀疑是这里的errorStr并不是json格式,不过你们没打日志,我也不能确定,总之结果就是如果发起对话遇到了http400异常,没有返回我异常原因,而是返回我了一个jsonparse异常。希望尽快处理下吧。

贡献指南

打开贡献指南

调研方向

从 com.coze.openapi.service.service.common.AbstractEventCallback.onResponse 第 43 行开始,这里会解析响应。复现 initiate-conversation API 返回 400 响应的情况,并检查 errorStr 不是 JSON 时的处理方式。如果返回原始的 HTTP 400 错误原因,而不是 JsonParseException,则表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
api
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。