接口测试 jmeter 进行 dubbo 接口测试,对于引用 json 类型一直报错,在线求助!!!!!!!!

差班生 · 2023年05月09日 · 最后由 chrislee 回复于 2024年02月18日 · 7284 次阅读

Caused by: java.lang.RuntimeException: Failed to invoke public com.alibaba.fastjson.JSON() with no args

Caused by: java.lang.InstantiationException

共收到 13 条回复 时间 点赞

这个错误信息表明在使用 JMeter 进行 Dubbo 接口测试时,出现了问题。
可能的原因包括:
1.缺少 Dubbo 相关的 JAR 包:
如果在测试 Dubbo 接口时,没有将 Dubbo 相关的 JAR 包添加到 JMeter 的 classpath 中,就会导致这个错误。
2.Dubbo 接口配置错误:如果 Dubbo 接口的配置不正确,例如 Dubbo 服务的地址或端口设置错误,也可能导致这个错误。
3.Dubbo 版本不兼容:如果 Dubbo 版本与 JMeter 不兼容,也可能导致这个错误。

解决这个问题的方法包括:
1.确认 Dubbo 相关的 JAR 包已经添加到 JMeter 的 classpath 中。
2.检查 Dubbo 接口的配置是否正确,可以参考 Dubbo 的官方文档。
3.确认 Dubbo 的版本与 JMeter 兼容,可以尝试升级 Dubbo 或者使用其他版本的 JMeter。
如果以上方法都无法解决问题,可以尝试使用其他 Dubbo 接口测试工具,例如 Dubbokeeper 或者 Dubbo-go。

你这是问的 chatgpt 的吗 这么生硬

你们这个接口的参数就是定义的是 alibaba.fastjson.JSON 吗 很少见这样子的情况。

saii 回复

下次我翻译下

alibaba.fastjson.JSON 版本对应 jmeter 工具版本不一致导致的

ext 文件夹下,引入对应的 jar 包

你这第三个参数,开发是定义成 alibaba.fastjson.JSON 么?这种不一般是自定义对象名么?cn.com.xxx.scs.api.wms.dto.xxx.StaffMaterialReq

saii 回复

不是,接口的类型是自定义的。我想用 json 类型是不是。发现调用不通😂

萧帅 回复

?api 和 jmeter 的版本不一致?感觉和版本没有关系吧

tangoliver 回复

引入了,还是报这个错误

不是。我想用 json 试试。结果发现不行

参数类型应该错了,你看下接口的参数定义里,这个参数的类型应该是个自定义的 DTO 之类的。你应该填写的是对应 DTO 的包路径。
比如 public Response addApi(AddApiRequest request) 这个接口,那你参数的类型应该是 AddApiRequest 的包路径:com.xxx.api.dto.request.AddApiRequest

先理解一下 dubbo 是怎么用的,不太可能用 fastjson 的 json 类作为参数调用的。如果是,那么只能说你们公司真是 6。
调用参数的类型应该和你的接口类定义的方法的签名要一样,不是你想要传啥就是啥类型。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册