title: Configuration OPC UA Server (Milo)?
body: <p>I've just checked out the Eclipse Milo Project (<a href="https://projects.eclipse.org/proposals/milo" rel="nofollow">https://projects.eclipse.org/proposals/milo</a>), which seems to be a great project for an "open" OPC UA Client/Server even with the implemented OPC Stack. The project on github (<a href="https://github.com/eclipse/milo" rel="nofollow">https://github.com/eclipse/milo</a>) contains a Hello World example, where an OPC Server is started and an example node is sent and received from the client. Everything works fine!</p>
  
  <p>But in my next step, I wanted to check if the server is configured correctly. Therefore I've installed Matrikon Explorer, but the Explorer is stating out "No OPC servers installed on this machine" right after start (while the hello world example with a running OPC Server is running of course).</p>
  
  <p>Also checked, if SAP Plant Connectivity is recognizing the OPC Server (which is the goal of my project) -> "Found no OPC Server on your system/localhost"</p>
  
  <p>Where is my problem, what do I have to do, to install and configure the Server correctly?</p>
  
  <p>Here's the Hello World Example:</p>
  
  <pre><code>public static void main(String[] args) throws Exception {
      // Start server
  
      int port = 12686;
      String serverName = "test-server";
      OpcUaServerConfig serverConfig = OpcUaServerConfig.builder()
          .setBindPort(port)
          .setCertificateManager(new DefaultCertificateManager())
          .setCertificateValidator(new DefaultCertificateValidator(createTempDir()))
          .setServerName(serverName)
          .setUserTokenPolicies(singletonList(USER_TOKEN_POLICY_ANONYMOUS))
          .build();
  
      OpcUaServer server = new OpcUaServer(serverConfig);
  
      server.getNamespaceManager().registerAndAdd(
          "urn:eclipse:milo:opcua:test-namespace",
          idx -&gt; new HelloNamespace());
  
      server.startup();
  
      while(true){
          System.out.println("server running");
      }
  }
  </code></pre>