You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In case a method call returns any other status than Good the default implementation of MethodState will not assign the outputArguments values. This behavior is not conforming to the specification as defined in OPC Reference - Part 4 - StatusCodes. In the case of a return value of Uncertain the output arguments should get assigned as well, since the application specific return values need to be evaluated on the client side.
The cause can be found at: MethodState.cs - Line 709. This should also include Uncertain as a return value.
A related issue can be found at CustomNodeManager2 - Line 3088. Here should not a general Good be returned since the Uncertain case cannot be addressed this way.
Expected Behavior
The output arguments values should be assigned in the Uncertain case as well as for the Good case.
Steps To Reproduce
Define a nodeset with a method call which returns values through the outputArguments
Create a server with the nodes defined in the nodeset
Issue a method call, assing the outputArguments and return StatusCode.Uncertain from that call as a return value.
Expect the client to receive the output arguments if the StatusCode.Uncertain was returned.
* #2896: Write output arguments for good and uncertain status code
When a method state's call method is invoked the output arguments should be written in case the status code is good or uncertain. This behavior would be conform with the current specification.
* #2896: The service result corresponds the method call result
The result of the Call method in the CustomNodeManager2 class represents the status of the CallMethodResult. It does not correspond to the ServiceResult of the CallResponse, thus returning Good as a general response is incorrect behavior.
Type of issue
Current Behavior
In case a method call returns any other status than
Good
the default implementation of MethodState will not assign theoutputArguments
values. This behavior is not conforming to the specification as defined in OPC Reference - Part 4 - StatusCodes. In the case of a return value ofUncertain
the output arguments should get assigned as well, since the application specific return values need to be evaluated on the client side.The cause can be found at: MethodState.cs - Line 709. This should also include
Uncertain
as a return value.A related issue can be found at CustomNodeManager2 - Line 3088. Here should not a general
Good
be returned since theUncertain
case cannot be addressed this way.Expected Behavior
The output arguments values should be assigned in the
Uncertain
case as well as for theGood
case.Steps To Reproduce
outputArguments
StatusCode.Uncertain
from that call as a return value.StatusCode.Uncertain
was returned.Environment
Anything else?
No response
The text was updated successfully, but these errors were encountered: