OpenAPI常见问题

配置期的详细操作可参考:
用户手册:https://vip.kingdee.com/article/98349464997083392
课件链接:https://vip.kingdee.com/school/112476379605654784
一、配置器
接口说明列表中选择方法报错

元数据中新建过方法,记为f()。前台界面配置OpenAPI接口说明列表增加方法的时候,f()可以成功选择。后续由于修改元数据,元数据中删除此方法,导致接口说明中存储的方法信息与当前环境中运行的元数据的对应方法的相关信息不匹配。
解决方案:请检查确认元数据的加载路径、元数据中的方法以及环境上该元数据所有运行的方法。
方法编辑页面,选择facade,元数据加载问题

元数据默认加载路径:com.kingdee.eas.custom包下的。
解决方案:若需要自己新建facade,请在对应目录下新建自定义的facade,校验并发布元数据。检查相应配置文件 W:\eas\Server\server\properties\ SubSystem_bos.xml

子系统树配置文件中可能需要手动添加对应所需路径。
管理控制台-工具-产生子系统树;最后部署,重启服务器,清理浏览器缓存,可以加载到自己配置的元数据。
前端界面报错:wafRadioGroup is not a function

可能原因:界面加载的xml和对应js文件不匹配,js中代码存在该方法,而页面对应的xml缺少控件

界面控件的正常情况:

解决方案:确认对应的补丁号,检查 js 文件中是否有对应的方法,若有该方法。将对补丁包中的对应页面的xml在管理控制台执行。
webpage_com_kingdee_bos_openapi_OpenApiEdit_eascard.xml

自定义接口格式规范
sp2版本新增支持数组、二维数组、泛型
| 类型 | 自定义实现类 |
| 数组 | [java.lang.String |
| 二维数组 | [[Ljava.lang.String; |
| 泛型 | 示例:java.util.ArrayList<java.lang.String> |
泛型请注意填写全类名
菜单缺失 or 不显示的问题
1)首先确认数据库是否有数据,可以根据如下sql查询
select * from t_jp_page where FDISPLAYNAME like '%OpenApi%' or FDISPLAYNAME like '%第三方%' or FDISPLAYNAME like '%OpenAPI%';
正常情况下会出现5条记录(包括主菜单和四个子菜单。特殊:860私有云只有主菜单和三个子菜单)

若确认表中数据正常,可选择手动导入web菜单,重新引入后清理浏览器缓存即可。
操作步骤如下:管理员登录Portal 页面,用户管理——应用中心配置。可自行重引菜单。

2)若数据库中记录缺失,考虑是补丁中脚本执行失败,可单独在管理控制台执行补丁中的相关脚本文件。
二、运行期
抛出的异常提示信息可较为准确定位,请先认真查阅异常信息。
调用期404

调用过程中出现404报错,有可能是调用的访问路径不在白名单之中,被拦截,allow_urls中添加白名单。配置文件的路径为:apusic/domains/server*/config/web.xml。具体如下图

调用服务端500,“errMsg”:“openApi error.please check your parameter appid!”

PTM158682补丁中带出去默认开放的接口均在脚本中控制为非共享,如下图所示,所以均需要分配给第三方应用。直接调用会报错。

自己建的方案可以通过编辑方案修改为是否共享,但是内置方案(PTM补丁中带出去的标准接口)是不允许直接在界面修改的,需要分配给第三方。
自己建的方案:

系
OpenAPI常见问题
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



