收藏
回答

微信H5支付 v3支付通知接口报错,是什么原因?

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: casterxml.jackson.databind.ObjectReader.readValue(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;] with root cause

java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectReader.readValue(Ljava/lang/String;Ljava/lang/Class;)Ljlang/Object;

回答关注问题邀请回答
收藏

3 个回答

  • 吃葡萄不吐葡萄皮
    吃葡萄不吐葡萄皮
    2022-06-05
    将body内容 JSONObject.parseObject(bodyStr).toJSONString() 解决,可能是没格式化造成
    


    2022-06-05
    有用 2
    回复 6
    • 黑色的眼
      黑色的眼
      2022-06-06
      解决了
      2022-06-06
      回复
    • 杨小树🌲
      杨小树🌲
      2022-06-21回复黑色的眼
      什么原因,我也遇到了
      2022-06-21
      回复
    • 阿庚
      阿庚
      2022-09-21
      这样子会验签失败 是咋弄的
      2022-09-21
      回复
    • 天长地久有时尽
      天长地久有时尽
      2022-10-09
      这样处理是不报错了,但是这样处理后会验签失败是怎么处理的呢
      2022-10-09
      回复
    • 张智勇
      张智勇
      2022-12-21回复黑色的眼
      这样会导致签名失败,请问如何解决?
      2022-12-21
      回复
    查看更多(1)
  • Liar
    Liar
    2023-04-18

    这个问题一种可能是因为项目使用的springboot依赖中默认的jackson版本过低,第二种是自定义的jackson版本过低。建议手动更换2.13.4.2版本以上的jackson依赖。官方也给了正确的指示。目前最新wechatpay-apache-httpclient-0.4.9中使用的是2.13.4.2版本的jackson,如果使用sdk的原生校验、解密方法建议升级至高于2.13.4.2版本以上,亲测有效。

    2023-04-18
    有用 2
    回复
  • 及時行樂
    及時行樂
    2023-03-01

    微信官方包里封装的方法有些坑,从请求头里拿到的body只能验签成功不能解密,自已用对象接收body又验签不成功且转化为微信封装好的对象实体类接收到的参数总为空

    去把wechatpay-apache-httpclient里封装的验签和解密方法复制到自己的项目里,然后如下改造一下,就能验签解密成功


    2023-03-01
    有用
    回复 1
    • 百⃕李⃕ ⁸ ⁸
      百⃕李⃕ ⁸ ⁸
      2023-03-16
      @RequestBody好像会调用getInputStream()方法,然后获取body的时候使用的request.getReader()方法无法与getInputStream()方法同时使用会输出异常java.lang.IllegalStateException: getInputStream() has already been called for this request

      请问你这个问题是怎么解决的?
      2023-03-16
      回复
登录 后发表内容