OPC-UA without Discovery

How can we connect to an OPC-UA server without discovery?

I have no issue at all browsing, reading, writing, or executing call functions with the FreeOpcUa/python-opcua application.

Discovery isn’t optional. In many cases the endpoint URL and discovery URL will be the same, so try that to start.

1 Like

Can you give me a reference that shows discovery is required for OPC-UA standard spec. So that I may use this reference in my support request with my device OEM?

…and thank you for the quick response.

Part 4, section 5.4.1 Discovery Service Set Overview:

Every Server shall have a Discovery Endpoint that Clients can access without establishing a Session.

All OPC UA clients I’ve seen use a 2-step connect process:

  1. open a connection, call GetEndpoints on the “discovery URL” to get a list of endpoints, close this connection.
  2. scan through that list of endpoints to find one that matches what was configured (endpoint URL, security, etc…), and then open a connection to that endpoint.

In many cases the “discovery URL” and chosen “endpoint URL” are the same, but there are situations where they can be different.

1 Like

A little later in this section there’s some language that allows discovery services to be disabled for a server, which requires that a client be able to cache all the necessary information to connect to that endpoint without going through discovery first. This also implies that for a server that will have discovery services disabled it should be configurable, so that they can be enabled for a client to connect, do discovery, and cache the chosen endpoint in the first place.

Ignition’s client does not support this and I don’t think figuring out how I can make this work in a backwards compatible manner is going to be high priority.

I was looking for a good case to show a hardware OEM that they need to configure discovery properly and why it was important. Was that OPC Foundation Spec document? “Part 4, section 5.4.1 Discovery Service Set Overview”

Thanks again.

Yes, it was OPC UA Spec version 1.03, Part 4.

1 Like