OPC-UA connection to .NET Sample

Hi,

We are evaluating interoperability with our UA Server based on the UA .NET Samples available here:

http://opcfoundation.github.io/UA-.NET/

The connection works, but the browse fails with a dialog box showing the error below.

Thank you very much for the attention!

Best regards
Mello

com.inductiveautomation.ignition.client.gateway_interface.GatewayException: java.lang.IllegalArgumentException
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:327)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:297)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invokeWithTimeout(GatewayInterface.java:896)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.browseOPC(GatewayInterface.java:900)
at com.inductiveautomation.ignition.designer.sqltags.opcbrowser.OPCFolderNode.loadChildren(OPCFolderNode.java:52)
at com.inductiveautomation.ignition.client.util.gui.tree.AbstractAsynchronousTreeNode$Loader.run(AbstractAsynchronousTreeNode.java:75)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.util.concurrent.ExecutionException
com.inductiveautomation.ignition.common.GenericTransferrableException: java.lang.IllegalArgumentException
at java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
at java.util.concurrent.CompletableFuture.get(Unknown Source)
at com.inductiveautomation.xopc2.client.OpcUaConnection.browse(OpcUaConnection.java:442)
at com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl$ServerWrapper.browse(OPCManagerImpl.java:703)
at com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl.browse(OPCManagerImpl.java:426)
at com.inductiveautomation.ignition.gateway.sqltags.tagproviders.internal.InternalSQLTagsProvider.browseOPC(InternalSQLTagsProvider.java:78)
at com.inductiveautomation.ignition.gateway.sqltags.providers.RedundantProviderWrapper.browseOPC(RedundantProviderWrapper.java:174)
at com.inductiveautomation.ignition.gateway.sqltags.SQLTagsManagerImpl.browseOPC(SQLTagsManagerImpl.java:921)
at com.inductiveautomation.ignition.gateway.project.ProjectSettingsCache$ProjectDefaultTagManagerFacade.browseOPC(ProjectSettingsCache.java:482)
at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.SQLTags.browseOPC(SQLTags.java:826)
at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.inductiveautomation.ignition.gateway.clientcomm.progress.MethodInvokeRunnable.run(MethodInvokeRunnable.java:27)
at com.inductiveautomation.ignition.gateway.clientcomm.progress.GatewayProgressManagerImpl$GatewayProgressTask.run(GatewayProgressManagerImpl.java:233)
at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:537)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
… 3 more
Caused by: java.lang.IllegalArgumentException
com.inductiveautomation.ignition.common.GenericTransferrableException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
at com.google.common.collect.Lists.partition(Lists.java:653)
at com.inductiveautomation.xopc2.client.OpcUaConnection.lambda$null$39(OpcUaConnection.java:488)
at java.util.concurrent.CompletableFuture.uniCompose(Unknown Source)
at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
at java.util.concurrent.CompletableFuture.complete(Unknown Source)
at com.digitalpetri.opcua.stack.client.UaTcpStackClient.receiveResponse(UaTcpStackClient.java:280)
at com.digitalpetri.opcua.stack.client.UaTcpStackClient.lambda$sendRequest$9(UaTcpStackClient.java:151)
at java.util.concurrent.CompletableFuture.uniWhenComplete(Unknown Source)
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(Unknown Source)
at java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
at java.util.concurrent.CompletableFuture.complete(Unknown Source)
at com.digitalpetri.opcua.stack.client.handlers.UaTcpClientSymmetricHandler.lambda$null$26(UaTcpClientSymmetricHandler.java:215)
… 3 more

Ignition v7.8.1 (b2016012216)
Java: Oracle Corporation 1.8.0_74

It’s hard to tell, but I think this is a bug that has been fixed in the next release of our OPC-UA module.

What’s happening is that the .NET server is returning 0 in response Ignition’s UA client reading one of the operation limit nodes, and it’s not correctly handling this case.

Get in touch with support and they can send you the latest build of the UA module, or you can wait until the 7.8.2 release candidate appears in the next day or two and get it from there.

Thank you a lot for the attention Kevin! And congratulations for the great product.

I can wait the release, no hurry because we are just evaluating UA interop.

Best regards!
Mello