盖世英雄
盖世英雄
  • 发布:2022-11-18 18:58
  • 更新:2022-11-21 12:04
  • 阅读:312

【报Bug】httpProxyForEip.postJson云端环境失败,本地云函数时可以成功

分类:uniCloud

产品分类: uniCloud/App

操作步骤:

请求地址为 "https://api.mch.weixin.qq.com/v3/transfer/batches", 需要设置白名单,已设置,本地成功,但云端不成功。

预期结果:

/

实际结果:

/

bug描述:

[api/ac1402061668766419220166112/164ms/DEBUG] error
[api/ac1402061668766419220166112/164ms/DEBUG] { Error: 401 Unauthorized
at decode (/code/index.js:213:474004)
at request (/code/index.js:213:472674)
at (<anonymous>)
at _tickCallback (internal/process/next_tick.js:189:7) code: 'InternalBizError', message: '401 Unauthorized' }

请求地址是weixin,连接本地云函数时可以成功,但连接到云端云函数时,就报上面的。
https://api.mch.weixin.qq.com/v3/transfer/batches

本地成功图,与云端控制台的吐息

2022-11-18 18:58 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

现在这个接口在出现4xx 5xx状态码时没给返回响应体,后续会修复,但是应该不是白名单的问题,可以检查下商户账户余额是否足够转账之类的原因

  • 盖世英雄 (作者)

    余额没有问题,我方问题应该是不存在的。切换到连接“本地云函数”即可以通过。理论上“本地”->httpProxyForEip.postJson->白名单ip->weixin 这几步没有问题,那么,就是 “云环境”执行httpProxyForEip.postJson这个步骤出问题了。

    2022-11-21 16:54

  • 盖世英雄 (作者)

    var e = await uniCloud.httpProxyForEip.postJson(apiUrl, body, {

    "Authorization": WECHATPAY2-SHA256-RSA2048 ${signInfo},

    "Wechatpay-Serial": serial_no

    })


    这是请求代码,会不会是云环境运行代码时限制了header附加数据的长度?而本地环境没有。

    2022-11-21 16:58

  • DCloud_uniCloud_WYQ

    回复 盖世英雄: 这个header有多长?其实这个微信是有返回错误原因的,只是公测版阿里的固定ip代理给拦截了错误状态码没返回响应体。你可以创建一个阿里云正式版免费的开发者版服务空间再试一下

    2022-11-21 21:30

  • 盖世英雄 (作者)

    回复 DCloud_uniCloud_WYQ: 正式版没问题了。没有用公测版了,就没再试公测版。

    2022-12-11 16:06

该问题目前已经被锁定, 无法添加新回复