cancel
Showing results for 
Search instead for 
Did you mean: 

OPCUA-Server and IoT Gateway Edge Connection Problems

0 Kudos

Hello everyone,

We are having trouble connection the IoT Gateway Edge to our OPCUA-Server.

We're using no certificates on our OPCUA-Server and it's using the "FreeOPCUA" python library.

Other clients can connect just fine.

We followed this guide (from SAP's documentary) and set up everything correctly.

This is the full error message we get after the gateway has started:

[DiscoveryManager]
ERROR (OpcUaServerBrowser:59) - Error creating client, due to {}
java.util.concurrent.ExecutionException: UaException: status=Bad_Timeout,
message=timed out waiting for acknowledge
com.sap.iotservices.exceptions.IoTServicesException:
java.util.concurrent.ExecutionException: UaException: status=Bad_Timeout,
message=timed out waiting for acknowledge
at
com.sap.iotservices.gateway.protocol.opcua.OpcuaUtils.createClient(OpcuaUtils.java:608)
~[gateway-opcua-4.22.0.jar:?]
at
com.sap.iotservices.gateway.protocol.opcua.OpcUaServerBrowser.buildServerStructure(OpcUaServerBrowser.java:57)

[gateway-opcua-4.22.0.jar:?]
at
com.sap.iotservices.gateway.protocol.opcua.OpcuaUtils.creteOPCUaStructure(OpcuaUtils.java:166)
[gateway-opcua-
4.22.0.jar:?]
at
com.sap.iotservices.gateway.protocol.opcua.OpcuaUtils.creteOPCUaStructure(OpcuaUtils.java:149)
[gateway-opcua-
4.22.0.jar:?]
at com.sap.iotservices.gateway.protocol.opcua.OpcuaDiscoveryManager.initializeDiscoveryManager
(OpcuaDiscoveryManager.java:44)
[gateway-opcua-4.22.0.jar:?]
at
com.sap.iotservices.gateway.core.DiscoveryManager.run(DiscoveryManager.java:269)
[gateway-core-4.22.0.jar:?]
at java.lang.Thread.run(Thread.java:748)
[?:1.8.0_181]
Caused by:
java.util.concurrent.ExecutionException: UaException: status=Bad_Timeout,
message=timed out waiting for acknowledge
at
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
~[?:1.8.0_181]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
~[?:1.8.0_181]
at
com.sap.iotservices.gateway.protocol.opcua.OpcuaUtils.createClient(OpcuaUtils.java:582)
~[gateway-opcua-
4.22.0.jar:?]
... 6 more
Caused by:
org.eclipse.milo.opcua.stack.core.UaException: timed out waiting for
acknowledge
at
org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientAcknowledgeHandler.lambda$startHelloTimeout$4(UaTcpClientAcknowledgeHandler.java:156)
~[stack-client-0.1.2.jar:0.1.2]
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:588)
~[netty-common-4.1.5.Final.jar:4.1.5.Final]
at
io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:662)
~[netty-common-4.1.5.Final.jar:4.1.5.Final]
at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:385)
~[netty-common-4.1.5.Final.jar:4.1.5.Final]
... 1 more
[DiscoveryManager]
WARN(OpcuaUtils:168) - Problems in
communication with the sever. No device will be created!
[DiscoveryManager]
WARN (DiscoveryManager:47) - Problems
creating OPCUA structure for at lesst one of the servers

Does anyone have a solution to this?

Thank you in advance

Bastian

View Entire Topic
mzahid0071
Participant

Dear Member ,

Have you created the data model prior to start the Gateway?

You can check below thread -

https://github.com/eclipse/milo/issues/215.

0 Kudos

Hi Mohammed, thank you for your answer.

Yes, I have a datamodel setup on our OPCUA Server. Are there "rules" for that? I just added an object with some variables.

It looks like this:

Objects --> MyObject ---> MyString, MyInt, MyFloat

There is also a "Server"-Object node that has some server-specific information (I didn't create that one).

I've also ran the script in the IoTStarterkit that creates the datamodel in the IoT Service Cockpit.

Do my variablenames on the Server need to match capabilities in IoT Service Cockpit?