HoneyMoose
  • 首页
  • Java
  • Jersey
  • Jira
  • Confluence
  • U.S.
    • USRealEstate
    • USVisaTrack
    • H1B
  • 项目和网站
    • CWIKI.US
    • OSSEZ 社区
    • WIKI.OSSEZ.COM
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
BLOG.OSSEZ.COM
A responsive blog theme focused om user reading experience
  1. Home
  2. Computer Science
  3. This article

微信 API 的发送客服消息返回对象不正确

2023年03月07日 36Browse 0Like 0Comments

因为返回消息的对象不正确,导致有下面的异常:

15:22:28.669 [task-5] DEBUG c.o.w.o.a.i.o.i.WeChatErrorInterceptor - WeChat Response String - {"errcode":0,"errmsg":"ok"}
15:22:28.672 [task-5] ERROR o.s.a.i.SimpleAsyncUncaughtExceptionHandler - Unexpected exception occurred invoking async method: public void com.northtecom.visatrack.api.service.impl.ChatGPTService.processChatGPTContent(java.lang.String)
java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "errcode" (class com.ossez.wechat.common.model.WeChatAccessToken), not marked as ignorable (2 known properties: "expires_in", "access_token"])
 at [Source: (okhttp3.ResponseBody$BomAwareReader); line: 1, column: 13] (through reference chain: com.ossez.wechat.common.model.WeChatAccessToken["errcode"])
	at io.reactivex.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
	at io.reactivex.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:93)
	at io.reactivex.Single.blockingGet(Single.java:2870)
	at com.ossez.wechat.oa.api.impl.okhttp.WeChatMsgService.sendMessage(WeChatMsgService.java:65)
	at com.northtecom.visatrack.api.service.impl.WeChatService.sendMessage(WeChatService.java:209)
	at com.northtecom.visatrack.api.service.impl.ChatGPTService.processChatGPTContent(ChatGPTService.java:94)
	at com.northtecom.visatrack.api.service.impl.ChatGPTService$$FastClassBySpringCGLIB$$86883789.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
	at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "errcode" (class com.ossez.wechat.common.model.WeChatAccessToken), not marked as ignorable (2 known properties: "expires_in", "access_token"])
 at [Source: (okhttp3.ResponseBody$BomAwareReader); line: 1, column: 13] (through reference chain: com.ossez.wechat.common.model.WeChatAccessToken["errcode"])
	at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
	at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1127)
	at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2036)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1700)
	at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1678)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:320)
	at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
	at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
	at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:2051)
	at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1459)
	at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:33)
	at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:23)
	at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:243)
	at retrofit2.OkHttpCall.execute(OkHttpCall.java:204)
	at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:46)
	at io.reactivex.Observable.subscribe(Observable.java:12284)
	at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:35)
	at io.reactivex.Observable.subscribe(Observable.java:12284)
	at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(Observ

问题和解决

重新定义 WeChatStatus 对象来处理微信消息发送时候的状态返回。

 

2023-03-07_13-04-40

 

上面是微信官方网站上提供的返回信息,我们的对象需要和上面的返回信息对应。

修改后的日志能解决这个状态的问题。

 

2023-03-07_13-40-00
https://www.ossez.com/t/api/14337

 

Tags: None
Last updated:2023年03月07日

Kratos

stay absorbed stay excellent

Like
< Previous
Next >

Comments

Cancel reply

Newest Hotspots Random
Newest Hotspots Random
经过小折腾,可算是把 Code Coverage API 用上了 Docker 开始清退开源组织,不付费就删除所有私镜像怎么看 IBM Semeru Windows 下的安装 JDK 17 Okhttp 的 retrofit2 运行警告信息异常 应该升级 JDK 到 17 了吗 OpenAI-J 如何进行测试
微信 API 的发送客服消息返回对象不正确OpenAI-J 如何进行测试应该升级 JDK 到 17 了吗Okhttp 的 retrofit2 运行警告信息异常IBM Semeru Windows 下的安装 JDK 17Docker 开始清退开源组织,不付费就删除所有私镜像怎么看
Google 彻底断供华为,只能加速鸿蒙生态的形成 Confluence 6 在一个空间中查看所有附加的文件 微信小商店的开店路径 [LintCode] Reverse Array(翻转数组) Maven docker-maven-plugin 插件 Push 413 错误 JIRA 如何连接到云平台的 bitbucket
Categories
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • H1B
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • USRealEstate
  • USVisaTrack
  • 我的小厨

COPYRIGHT © 2020 HoneyMoose. ALL RIGHTS RESERVED.

THEME CWIKIUS.CN MADE BY VTROIS