Server responds to FindServerOnNetwork even if ApplicationType is different from DiscoveryServer
Phenomenon
If S2OPC Server revision 1.3.0 receives a FindServerOnNetwork
request, it sends back a FindServerOnNetwork
response not matter if the value of ApplicationType is is different from DiscoveryServer
.
However, according to Part 4, only Discovery Server are supposed to implement this service.
Steps to reproduce
This is a problem for example when trying to use UAExpert to access S2OPC exposing a Server on port 4840. In this case, UAExpert, predicting it can be DiscoveryServer sends a FindServerOnNetwork
request instead of a FindServer
request. As no Server is registered, an empty array is returned to UAExpert and the discovery service fails.
Possible fix
If ApplicationType is different from DiscoveryServer
, the server shall return a ServiceFault instead of a FindServerOnNetwork
response.
Add ApplicationType
parameter in XML.