-
Notifications
You must be signed in to change notification settings - Fork 956
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MethodState Call method does not assign output arguments when status Uncertain is returned #2896
Closed
2 of 5 tasks
Comments
13 tasks
mrsuciu
pushed a commit
that referenced
this issue
Dec 17, 2024
* #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.
mregen
pushed a commit
that referenced
this issue
Jan 8, 2025
* #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.
mregen
added a commit
that referenced
this issue
Jan 17, 2025
* Some cleanup of the new APIs and Union implementation. * fix build * Handle status code Uncertain according to the specification (#2898) * #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. * Add SetHiResClockDisabled & fix Rejected Store Creation in ApplicationConfigurationBuilder (#2909) Add the method SetHiResClockDisabled to IApplicationConfigurationBuilder Fix the type of RejectedStore Created by the Builder to: CertificateStoreIdentifier * revert based on feedback * move some logic from class code to encoder/decoder * Fix race condition on Nuget build (#2930) - nodeset xmlzip is created in obj folders if multiple targets are built in parallel
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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: