Anomalie #18
closedunable to connect to OpenOpcUa server with Inductive Automation Ignition
0%
Description
While testing a few OPC UA servers, I tried to link OpenOpcUA to Ignition by Inductive Automation.
In this case, Ignition opc ua client is trying to connect to the OpenOpcUa server, both running on the same machine (Windows 7, 64 bit). I have the same issue when connecting to a remote OpenOpcUa server on a Raspberry PI though.
The connection fails and Ignition is reporting a nullreference error in GetEndpoints:
@java.lang.NullPointerException: null
com.inductiveautomation.xopc.client.util.ConnectionUtil.getEndpoint(ConnectionUtil.java:78)
com.inductiveautomation.xopc.client.OpcUaConnection.createUaClient(OpcUaConnection.java:523)
com.inductiveautomation.xopc.client.OpcUaConnection.verifyConnectionState(OpcUaConnection.java:141)
com.inductiveautomation.xopc.client.FailoverAwareOpcUaConnection.verifyConnectionState(FailoverAwareOpcUaConnection.java:75)
com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl$ServerWrapper.verifyConnectionState(OPCManagerImpl.java:742)
com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl$OPCConnectionKeepalive.run(OPCManagerImpl.java:618)
com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:573)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:722)@
I have increased logging in both servers (attached) but it is not clear to me yet whether the problem is with Ignition, OpenOpcUa or the configuration to connect both.
For kepware, Inductive automation recommends using the IP address instead of localhost or the hostname but I tried several configurations.
A comment by an Ignition forum moderator:
@GetEndpointsResponse contains a null EndpointDescription list and Ignition isn't expecting that to be null... @
From debugging OpenOpcUa, it seems to me that it is sending an Endpoint description.
Maybe it is not in a format that Ignition expects, but since for example UAExpert opc UA client has no trouble I am wondering if it is not Ignition that is expecting a value somewhere where there is not necessarily something needed...
Files