Closed tonmy2012 closed 5 years ago
没什么问题的我这边测试后 有没有更多的信息 提供一下我看看
这个是调试到service.js的截图。里面args是一个匿名方法。我调试过2.x的版本。这边args应该是转换成java对应类型的数组。
所以到这个位置就出现错误了,这位置的args还是上一个comment所示的匿名函数
@p412726700 help
3.x版本不再使 js-to-java 内置了 也就是说配置项里方法签名 直接这样写
findById : (id) => [ {'$class': 'java.lang.Long', '$': id} ],
findByName : (name) => [ java.String(name) ],
findByName : (name) => [ java.String(name) ],
按照这样写,出现java is not defined, 只能按照这种写法吗 findById : (id) => [ {'$class': 'java.lang.Long', '$': id} ],
'server error:' Error: non-error thrown: "Fail to decode request due to: RpcInvocation [methodName=findByRoles, parameterTypes=null, arguments=null, attachments={path=com.skio.api.dubbo.service.IUserResService, input=468, dubbo=2.6.0, version=null}]"
按照第一种写法,decode的时候出现异常
为什么不内置 js-to-java java.String(name) 明显这种写法比较优雅吧
java is not defined 你把 js-to-java 写到你的项目里啊
const java = require("js-to-java");
...
findByName : (name) => [ java.String(name) ],
...
解决了,谢谢
从2.2.2升级到3.0.12出现问题,是否调用方式有改变? Cannot read property '$class' of undefined [0] at Encode._argsType (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\encode.js:63:19) [0] at Encode._body (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\encode.js:35:19) [0] at new Encode (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\encode.js:10:21) [0] at Socket.invoke (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\socket.js:58:18) [0] at dispatcher.gain (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\service.js:61:12) [0] at Dispatcher.gain (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\socket.js:172:5) [0] at Service.execute (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\service.js:56:21) [0] at Promise (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\service.js:44:54) [0] at new Promise ()
[0] at Service.(anonymous function).args [as findByRoles] (F:\nodejs-workspace\cloud\pms\node_modules_node-zookeeper-dubbo@3.0.12@node-zookeeper-dubbo\libs\service.js:44:16)