I have a Stratus ZTC Edge machine which has an OPCUA server to allow an OPC client to get status information about the machine and operating environment. I was able to connect and read the topics using Ignition 8.1. I am now trying to connect using an Ignition 8.3.1 system. I have disabled security and certificates for testing. I get the following error when trying to connect. Has anyone else seen this?
ava.lang.NullPointerException: Parameter specified as non-null is null: method com.inductiveautomation.ignition.gateway.secrets.SecretConfigKtx.getPlaintextString-gIAlu-s, parameter $this$getPlaintextString
at com.inductiveautomation.ignition.gateway.secrets.SecretConfigKtx.getPlaintextString-gIAlu-s(SecretConfigKtx.kt)
Thanks for the response. The OPCUA Server is setup for anonymous connection since it is for inhouse testing.
ava.lang.NullPointerException: Parameter specified as non-null is null: method com.inductiveautomation.ignition.gateway.secrets.SecretConfigKtx.getPlaintextString-gIAlu-s, parameter $this$getPlaintextString
at com.inductiveautomation.ignition.gateway.secrets.SecretConfigKtx.getPlaintextString-gIAlu-s(SecretConfigKtx.kt)
at com.inductiveautomation.ignition.gateway.opcua.client.connection.OpcUaConnectionExtensionPoint.create(OpcUaConnectionExtensionPoint.kt:42)
at com.inductiveautomation.ignition.gateway.opcua.client.connection.OpcUaConnectionExtensionPoint.create(OpcUaConnectionExtensionPoint.kt:19)
at com.inductiveautomation.ignition.gateway.opc.OpcConnectionExtensionPoint.create(OpcConnectionExtensionPoint.java:64)
at com.inductiveautomation.ignition.gateway.opc.OpcConnectionManagerImpl.createAndStartConnection(OpcConnectionManagerImpl.java:390)
at com.inductiveautomation.ignition.gateway.opc.OpcConnectionManagerImpl$OpcConnectionResourceHandler.onResourceUpdated(OpcConnectionManagerImpl.java:466)
at com.inductiveautomation.ignition.gateway.config.NamedResourceHandler$Lifecycle.onAfterChanges(NamedResourceHandler.java:713)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionLifecycle$LifecycleResourceListener.onAfterChanges(ResourceCollectionLifecycle.java:183)
at com.inductiveautomation.ignition.common.resourcecollection.AbstractResourceCollection.notifyListener(AbstractResourceCollection.java:386)
at com.inductiveautomation.ignition.common.resourcecollection.AbstractResourceCollection.notifyResourceListeners(AbstractResourceCollection.java:315)
at com.inductiveautomation.ignition.common.resourcecollection.AbstractResourceCollection.updateEffectiveState(AbstractResourceCollection.java:156)
at com.inductiveautomation.ignition.common.resourcecollection.RuntimeResourceCollection.applyChange(RuntimeResourceCollection.java:267)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionLifecycleFactory$1.lambda$updateOrStartAffected$5(ResourceCollectionLifecycleFactory.java:210)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionLifecycleFactory$1.updateOrStartAffected(ResourceCollectionLifecycleFactory.java:190)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionLifecycleFactory$1.collectionUpdated(ResourceCollectionLifecycleFactory.java:167)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionManagerImpl.notifyCollectionChanged(ResourceCollectionManagerImpl.java:1610)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionManagerImpl.lambda$fireCollectionChanged$31(ResourceCollectionManagerImpl.java:1589)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionManagerImpl.lambda$submitToQueue$30(ResourceCollectionManagerImpl.java:1574)
at com.inductiveautomation.ignition.gateway.resourcecollection.ResourceCollectionManagerImpl.lambda$wrapNotificationTask$0(ResourceCollectionManagerImpl.java:204)
at com.inductiveautomation.ignition.common.util.ExecutionQueue$PollAndExecute.run(ExecutionQueue.java:238)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
I ran through this to fix the connection on one of my OPC-UA servers, and it was successful. But this forces me to re-create my tags. when I point my tags at the new location, I am getting nothing but bad tags. Without having the OPC client anymore (huge groan) I don’t really have a way of reading this to test it. Any thoughts or help please?
something about red lion when I restart the OPC-UA server it changes the item path and I have to re-point it at the correct one
I can see all my tags here, but no matter what option I’ve tried the parent option and all the child options (as text label, name, etc) but they all return ‘bad’
If the RedLion OPC UA server changes its NodeIds on each reboot then it is plainly broken and you need to contact them for support.
I'm not sure how this connects to what this thread was originally about.
There is a different bug with Red Lion servers that we've added a workaround/fix for in 8.3.2(?) - the immediate work around before 8.3.2 is available is to check the "Deprecated DataType Dictionary Support" advanced setting on the OPC UA connection.
Ever since I upgraded to 8.3 I have been disconnected from all of my OPC-UA connections for red lion. Changing the password to ‘password’ like you mentioned allowed me to connect to the server under my connections tab, but it still won’t publish any tags to the tag provider. All I get is ‘Bad’, and there is no more opc client to easily read the source value to get a determination of where the issue is coming from