我们支付平台以前我不做对接上游的,偶然间替别人做“对接了XX支付的相关接口的工作“。在工作过程中发现SDK和对外提供服务过程中很容易出问题。在此做个记录,为了以后相关工作中作为自己以后工作的警醒:
(1)demo中的代码跟接口文档严重不相符,不提供rest接口只提供sdk接入方式.
(2)SDK编译直接用了java8编译,没有考虑市场中依旧有java7以及7以下版本导致字节码不能兼容低版本jdk(后来沟通后给了一个1.7版本的sdk)。主要错误信息如下:
java Unsupported major.minor version 52.0
(3)jdk需要一个本地json文件作为配置文件,但是sdk中相关路径写死了(Demo中直接写在了类所在的包中),导致json文件放入其他地方sdk导入报错,里面的jackson解析也报错,后来发现导入源码所在包也不行。报错信息如下:
java Exception in thread "main" com.yeepay.g3.sdk.yop.YopServiceException: Errors occurred when loading SDK Config. (Status Code: 0; Error Code: null; Request ID: null) at com.yeepay.g3.sdk.yop.config.support.SDKConfigUtils.loadConfig(SDKConfigUtils.java:30) at com.yeepay.g3.sdk.yop.config.provider.DefaultFileAppSdkConfigProvider.loadCustomSdkConfig(DefaultFileAppSdkConfigProvider.java:54) at com.yeepay.g3.sdk.yop.config.provider.BaseFixedAppSdkConfigProvider.init(BaseFixedAppSdkConfigProvider.java:65) at com.yeepay.g3.sdk.yop.config.provider.BaseFixedAppSdkConfigProvider.getConfig(BaseFixedAppSdkConfigProvider.java:38) at com.yeepay.g3.sdk.yop.client.YopRequest.<init>(YopRequest.java:67) at com.qudou.app.framework.util.yibao.YeepayService.requestYOP(YeepayService.java:201) at com.qudou.app.framework.util.yibao.YeepayService.getAgreeInfoQuery(YeepayService.java:272) at com.qudou.app.controller.EntryController.main(EntryController.java:140) Caused by: com.yeepay.shade.com.fasterxml.jackson.core.JsonParseException: Unexpected character ('`' (code 96)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at [Source: java.io.BufferedInputStream@6bb7c984; line: 1, column: 2] at com.yeepay.shade.com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1586) at com.yeepay.shade.com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:521) at com.yeepay.shade.com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:450) at com.yeepay.shade.com.fasterxml.jackson.core.json.UTF8StreamJsonParser._handleUnexpectedValue(UTF8StreamJsonParser.java:2631) at com.yeepay.shade.com.fasterxml.jackson.core.json.UTF8StreamJsonParser._nextTokenNotInObject(UTF8StreamJsonParser.java:854) at com.yeepay.shade.com.fasterxml.jackson.core.json.UTF8StreamJsonParser.nextToken(UTF8StreamJsonParser.java:748) at com.yeepay.shade.com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3847) at com.yeepay.shade.com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3792) at com.yeepay.shade.com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2867) at com.yeepay.g3.sdk.yop.utils.JsonUtils.loadFrom(JsonUtils.java:77) at com.yeepay.g3.sdk.yop.config.support.SDKConfigUtils.loadConfig(SDKConfigUtils.java:28) ... 7 more
对接工程非常痛苦,在此不是为了找问题而是作为工作经理做个记录,体验了一下明白了原来看着很简单的问题,由于某些方面的问题回导致非常困难!

记录一次对接XX支付SDK过程中报错问题的更多相关文章

  1. andriod sdk模拟器安装过程中报错

    andriod sdk模拟器安装过程中,出现下述错误: Failed to fetch URL http://dl-ssl.google.com/android/repository/reposito ...

  2. Tess4j/Tess4j 多线程调用 过程中报错问题记录 Invalid memory access

    最近使用 Tess4j 做一些 OCR图片文字识别的代码. 然后想当然的将这个 ITesseract ocr_robot = new Tesseract(); 作为了工具类做成了成员变量. 当多线程调 ...

  3. npm 使用过程中报错问题-及npm使用

    原文地址:https://blog.csdn.net/u013022210/article/details/77740519 1.以下为报错具体详情:node 8.1.2 版本问题:其他空间安装成功但 ...

  4. ORACLE搭建Stream过程中报错【error收集】

    错误一:在配置完源库和目标数据库后,创建复制管理员.连接上复制管理员后,在源库执行MAINTAIN_TABLE过程: declare v_tables DBMS_UTILITY.UNCL_ARRAY; ...

  5. 安装Hive过程中报错:Unsupported major.minor version 52.0

    在安装hive的过程中,我觉得我是按照教程走的,但是在启动hive时还是报错了,错误如下 Exception in thread "main" java.lang.Unsuppor ...

  6. 从新安装SQLserver 过程中报错问题合集

    1.安装SQL SERVER2008 到安装支持文件就闪退? 分析:这个是由于安装目录没有删除干净导致的,我遗漏了一个文件夹:microsoft Management console文件夹没有删除的原 ...

  7. Centos 6.9安装 php5.6 过程中报错:Error: Package: php56w-mcrypt-5.6.40-1.w6.x86_64 (webtatic)

    在 CentOS 6.9 系统下安装 php 5.6 的过程中,执行如下命令: yum -y install php56w-pdo php56w-xml php56w-gd php56w-gd.x86 ...

  8. 问题-关于 in []使用过程中报错" Constant expression violates subrange bounds"

    问题现象:在DELPHI中使用户in [] 时参数大于255后,报错,错误如下:Constant expression violates subrange bounds E1012常量表达式超出子界 ...

  9. sql server xp_cmdshell 过程中报错原因

    1.net use 连接目标服务器是报错: 发生系统错误 53.找不到网络路径 可能原因是:主机装防护软件 比如 360 金山毒霸等阻止了cmd.exe程序. 将cmd.exe权限改成管理员(属性&g ...

随机推荐

  1. [python]两种编程思维--面向过程和面向对象

    例如:eg:炒一份西红柿鸡蛋 一.面向过程 面向过程的编程思维,如下 二.面向对象 制作一台炒菜机器人,然后告诉机器人做一道西红柿炒鸡蛋.在这里,我们直接面对的是机器人,而非炒菜的过程,所以这里机器人 ...

  2. Python数据结构同Json类型数据相互转换的用法

    在做Python接口自动化的时候,经常要用到Python数据结构同Json类型数据相互转换来供我们做进一步的验证提供数据,在此做个记录和总结 Python数据结构同Json类型数据相互转换的函数有:j ...

  3. amazeui学习笔记--css(常用组件1)--小徽章Badge

    amazeui学习笔记--css(常用组件1)--小徽章Badge 一.总结 1.am-badge:添加am-badge来声明小徽章对象 <span class="am-badge a ...

  4. CSS笔记 - fgm练习 2-8 - 简易日历

    <style> *{margin: 0; padding: 0} .outer{ width: 240px; margin: 10px auto; background: #f0f0f0; ...

  5. django-rest-framework框架 第一篇

    本课件是为了教学任务自己写的学习django-rest-framework框架. 方便自己授课,也成为学生的复习教程. 本课程学习后:具有REST编程思维:并可以通过django及专业的django- ...

  6. 互信息 & 卡方 - 文本挖掘

    在做文本挖掘,特别是有监督的学习时,常常需要从文本中提取特征,提取出对学习有价值的分类,而不是把所有的词都用上,因此一些词对分类的作用不大,比如“的.是.在.了”等停用词.这里介绍两种常用的特征选择方 ...

  7. Unity自带网络功能——NetworkView组件、Serialize、RPC

    Unity拥有大量的第三方插件,专门提供了对网络功能的支持.可是,大部分开发人员第一次接触到的还是Unity自带的网络功能,也就是大家常常说到的Unity Networking API.这些API是借 ...

  8. mysql三种带事务批量插入

    原文:mysql三种带事务批量插入 c#之mysql三种带事务批量插入 前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到 ...

  9. shrio 权限管理filterChainDefinitions过滤器配置(转)

    /** * Shiro-1.2.2内置的FilterChain * @see ============================================================= ...

  10. TOP全异步模式

    Top全异步方式调用技术方案 背景:目前top通过servlet3.0技术结合异步管道化框架做到半异步调用,半异步调用采用异步线程同步调用后端的方式来做api call @飞不起的奥特曼 的部分文档) ...