Page 1 of 1

uaexpert connection to LDS fails

Posted: 05 May 2020, 12:59
by JohnHulst
Hello,
I am trying to connect UAexpert to the LDS from OPC UA (https://github.com/OPCFoundation/UA-LDS). I have exchanged the public keys between both sides. At the start the connection seems to work. I do not get messages about wrong certificates but after a few lines things go wrong and the connection gets disconnected.

11:50:17.831 | Server Node | LDS SERVER | Endpoint: 'opc.tcp://lds:4840'
11:50:17.831 | Server Node | LDS SERVER | Security policy: 'http://opcfoundation.org/UA/SecurityPolicy#None'
11:50:17.831 | Server Node | LDS SERVER | ApplicationUri: 'urn:lds:UALocalDiscoveryServer'
11:50:17.831 | Server Node | LDS SERVER | Used UserTokenType: Anonymous
11:50:18.120 | General | | [uastack] OpcUa_TcpConnection_ProcessResponse: Error Message!
11:50:18.120 | General | | [uastack] OpcUa_TcpConnection_ProcessResponse: Status 0x800b0000!
11:50:18.120 | General | | [uastack] OpcUa_Channel_ResponseAvailable: Request failed! (0x800B0000)

11:50:18.120 | Server Node | LDS SERVER | Error 'BadServiceUnsupported' was returned during CreateSession
11:50:18.120 | Server Node | LDS SERVER | Connection status of server 'LDS SERVER' changed to 'Disconnected'.

I have a normal server that I connect in the same way. For that server it works.
UAexpert version is 1.5.1 - 331

Can you confirm that I can connect the uaexpert to an LDS server?
What can be the origin of this issue?

Thanks and regards,

John Hulst

Re: uaexpert connection to LDS fails

Posted: 05 May 2020, 17:35
by Support Team
Hello,

the LDS is a component that allows UA servers (on this local machine) to register themselves. The LDS will than provide the "list" of servers that are available in return of a "FindServers" Request made by some UA client.

That said:
1) you can not "register" a UA Client (UaExpert is a Client) at the LDS, only servers can register themselves
2) you can not create session with the LDS, the LDS only answers one request, which is the FindServers()
3) for calling the FindServers() Request you need no session, creating a session on the LDS is not supported

When you click the "+" in the UaExpert menue bar the "AddServer-Dialog" will show up. Under the top most tree entry "local" this dialog will show the list of servers that was returned when asking the LDS with the FindServers(). In fact when you click the expand tree the UaExpert calls the FindServers on the local port 4840 (where the LDS is typically running)