HTTP 服务传参问题
脚本:
脚本 1:
脚本名称:ltts-load.splx(call 了另外一个脚本 ltts_basedata_ctx_gen.splx,参数也是 ENV)
网格参数:ENV
脚本 2:
脚本名称:ltts_message.splx
网格参数:env,id,outer,list,其中 outer 和 list 设置了值
初始化脚本中的 ltts_env
环境:
在 CentOS6.5 服务器上启用了 esProc 的 http 服务(ServerConsole.sh -h),版本是 2024-09-26,jar 包是基于 20241010
JAVA 版本:JDK1.8.0_211
问题:
在调用的时候:
脚本 1 使用 http://ipaddress:port/api/ltts-load?ENV=aaa ,会报错,因为我脚本中使用了 object.field(ENV) 来获取数据,会报错【field: 函数参数类型错误】
使用 http://ipaddress:port/api/ltts-load(aaa) 的方式是可以调用成功的
脚本 2 使用 http://ipaddress:port/api/ltts_message?env=aaa&id=id1&outer=true&list=3 这种形式不会报错,而且修改参数后还是可以正常有结果的,
同样,使用 http://ipaddress:port/api/ltts_message(aaa,id1,true,3) 也能成功
以上两个脚本,只有 ltts-load.splx 使用 url 传参无法传进去
报错中的 A3 就是上面脚本 1 的第二张图 ltts_env.field(ENV)……
所以不知道是网格参数大小写的区别(ENV 和 env),还是因为脚本名称中字符的区别(- 和 _),或者网格参数数量差异(1 个和 4 个)导致的?请各位大佬帮忙分析一下。
感谢。
网格参数名与 url 中的参数名大小写要完全匹配,请把 ltts-load.splx 传上来看看
在公司内部。正文里补充了脚本参数截图。
程序在处理 url 参数串时对参数名大小写处理有一个 bug,已修正
请更新 esproc-bin-XXXXXXXX.jar
感谢,已经可以了。