Hello everyone,
Given amount of troubles we had in past with OPC-UA endpoint discovery
I've reported a https://github.com/apache/plc4x/issues/1520.
Main intention behind this issue is to move OPC-UA discovery logic
outside of driver and core. Internally our SPI defines a hook called
"fireDiscoveryEvent" which is, to my current knowledge, exclusively used
by OPC UA driver.
Presently we do support PlcDiscoverer interface which is supported by
some drivers. There are some differences between how PlcDiscoverer and
OPC-UA discovery works is general. Discoverer assumes little to no input
leading, in some cases, to scanning of network interfaces.
For OPC-UA endpoint discovery is conducted on one server which can point
to another. In order to scan endpoints we have to pass initial handshake
in order to list registered endpoints known to discovery server.
While it is possible to add query parameters for PlcDiscoverer it serves
completely different purpose. With number of possible options supported
by OPC-UA driver itself (message security, security policy,
authentication, server certificate and client certificate) it might be
hard to marry both together.
I would like to inquiry your opinion on above because I personally feel
that OPC-UA discovery logic overruns our current API capabilities.
I don't know too many UA client implementations but at least for Eclipse
Milo there is separate API which returns server endpoints alone, which
can later be used to connect.
Best,
Łukasz