Add unsupported Query service set#1789
Merged
Merged
Conversation
Milo recognizes QueryFirst and QueryNext but does not implement the Query service set. Register a default Query service set that returns Bad_ServiceUnsupported for these known unsupported services while preserving the generic missing-handler fallback for other service dispatch gaps.
f45bb04 to
87430c5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a server-side Query service set that reports Milo's QueryFirst and QueryNext services as unsupported with
Bad_ServiceUnsupported, matching OPC UA service-level unsupported semantics.QueryServiceSetso Query services fit the same SDK service-set registration pattern as Attribute, View, Session, and the other service families.DefaultQueryServiceSeton normal server endpoints and has it returnBad_ServiceUnsupportedfor QueryFirst and QueryNext until Milo implements Query semantics.Bad_NotImplementedfor unrelated service dispatch gaps.Key Changes
AbstractServiceHandlercan now register QueryFirst and QueryNext handlers throughQueryServiceSet, avoiding a dispatcher-level status special case.DefaultQueryServiceSetprovides explicit service-level unsupported responses for the recognized-but-unimplemented Query services.QueryServiceUnsupportedTestasserts client-observed service-level status for QueryFirst and QueryNext, and directly verifies a non-Query missing handler still returnsBad_NotImplemented.Testing
QueryServiceUnsupportedTestcovers QueryFirst/QueryNext unsupported service faults and the non-Query missing-handler fallback.mvn -q spotless:applymvn -q -pl opc-ua-sdk/integration-tests -am test -Dtest=QueryServiceUnsupportedTest -Dsurefire.failIfNoSpecifiedTests=falsemvn -q clean compilemvn -q clean verifyReferences
Bad_ServiceUnsupportedandBad_NotImplemented