OPCUA服务器上有一个方法有一个输入参数,例如:[1,4,9,16,25],在OPCUA客户端,我可以用数组int调用这个方法吗?
protected Variant[] invoke(InvocationContext invocationContext, Variant[] inputValues) {
logger.debug("Invoking sqrt() method of objectId={}", invocationContext.getObjectId());
double x = (double) inputValues[0].getValue();
double xSqrt = Math.sqrt(x);
return new Variant[]{new Variant(xSqrt)};
}
在OPCUA客户端,我可以用数组int来调用这个方法吗,比如[1,4,9,16,25]?
CallMethodRequest request = new CallMethodRequest(
objectId,
methodId,
new Variant[]{new Variant(input)}
);
在这里,inputArguments是Variant数组,我可以用[1,4,9,16,25]来设置,然后得到[1,2,3,4,5]吗?
不,不是这样的。
你可以发送5个 CallMethodRequest
的内部 CallRequest
不过。