Skip to main content

平台内API调用异常问题

如何快速定位/排查A2A调用失败问题?

  1. 初步定位问题:如果返回结果符合附录:网关返回信息列表内容中记录的错误信息,根据对应的错误信息进一步排查:

    1. 如果是upstream相关错误,则排查网关服务器和后端的网络连通性;
    2. 如果是 unexpected error,则需要查看环境所对应网关的错误日志(kong-xxx_error.log),并反馈给白山云技术支持工程师;
  2. 排除后端问题:使用curl或postman等工具访问后端API,确保后端API服务正常;

  3. 检查平台配置:

    1. 后端返回“404”或“无法找到API”错误时,检查API注册的path是否正确,参见API注册规则,检查配置是否有误;
    2. 如果后端返回参数错误,请检查API的参数是否正确,以及API请求转换插件的配置是否有误;
    3. 检查API 门户中API的版本是否有误;(工作区版本、部署版本、API 门户版本是否一致),具体参见API Portal和部署版本信息;
  4. 查看后台日志:

    1. 平台中查看API日志,【API管理】-【API日志管理】;
    2. 登录网关对应的服务器,查看对应环境的日志(kong-xxx_error.log);
  5. 进一步处理:联系白山云工程师进行协助处理:

    1. 一般抓包分析处理;

A2A接口请求异常,以匿名的方式请求,返回状态码为403。

查看下API是否设置了请求权限,尝试加上对应的APIkey再次请求,非匿名的API需要选择对应的API授权认证(Basci/APIkey方式)。

多个客户端请求一个API,其中一个客户端调用异常,返回状态码499,其他客户端正常。

建议调整异常调用客户端的超时时间,设置更长的时间。

API请求报如下错误“TypeError:Failed to execute 'fetch' on 'Window':Request with GET/HEAD method cannot have body”的原因是什么?

GET/HEAD方法不支持传body,HTTP规范中不建议GET请求携带Body,建议换一种请求方式或者修改请求内容。

D2A应用请求返回结果响应码为400,报错信息为:ORA-01722: invalid number,是什么原因?

查看传入的参数是否为number类型,输入时是否加入了字符,可以修改参数类型或者修改传入参数信息为number。

访问D2A应用的API,提示table or view does not exist,应该如何排查?

  1. 首先确认数据源的连接信息是否有误,可以尝试其他数据库连接工具验证;
  2. 数据源无误,使用该数据源创建一个普通模式的API,测试API是否正常;
  3. 如果普通模式无误,则排查有问题的API配置过程是否异常;
  4. 排查问题时可以同时查看相应的日志:crystal.log,如果无法解决,请联系白山云技术支持。