cancel
Showing results for 
Search instead for 
Did you mean: 

IOT Gateway Edge PL21 - OPC-UA Connection

RBETRICH
Participant
0 Kudos

Hello,

i`am trying to connect a OPC-UA Server using Gateway Edge.

The server is public available via opc.tcp://opcuademo.sterfive.com:26543.

The Server will be parsed and the attributes will be created on the iot 4.0 services.

Unfortunately I got the following error.

000,"generatePingReq":false,"tolerance":0.5,"useStdDeviation":false,"strokingTime":20000,"missingAfterMiss":5,"burstDelta":5000,"mac":null,"nsap":null,"range":0,"profileId":0,"objectId":null} - Total number of rfd contexts is: 1

17Aug 12:50:50,015 [com.sap.iotservices.gateway.response.manager.impl.ResponseManager] DEBUG (ResponseManager:552) - Managed response: ResponseInfo [message=, status=SUCCESS, enqueueTime=35530505069403, queueTime=77853723, processingTime=218054840]

17Aug 12:50:50,015 [DiscoveryManager] INFO (OpcuaUtils:250) - Device created. Adding sensors...

17Aug 12:50:50,191 [ua-shared-pool-2] ERROR (UaTcpClientMessageHandler:556) - Error decoding symmetric message: readerIndex(50) + length(1) exceeds writerIndex(50): CompositeByteBuf(ridx: 50, widx: 50, cap: 50, components=1)

java.lang.IndexOutOfBoundsException: readerIndex(50) + length(1) exceeds writerIndex(50): CompositeByteBuf(ridx: 50, widx: 50, cap: 50, components=1)

at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1395) ~[netty-buffer-4.1.5.Final.jar:4.1.5.Final]

at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:687) ~[netty-buffer-4.1.5.Final.jar:4.1.5.Final]

at io.netty.buffer.SwappedByteBuf.readByte(SwappedByteBuf.java:531) ~[netty-buffer-4.1.5.Final.jar:4.1.5.Final]

at org.eclipse.milo.opcua.stack.core.serialization.binary.BinaryDecoder.decodeDiagnosticInfo(BinaryDecoder.java:356) ~[stack-core-0.1.2.jar:0.1.2]

at org.eclipse.milo.opcua.stack.core.serialization.binary.BinaryDecoder.decodeArray(BinaryDecoder.java:428) ~[stack-core-0.1.2.jar:0.1.2]

at org.eclipse.milo.opcua.stack.core.types.structured.ReadResponse.decode(ReadResponse.java:87) ~[stack-core-0.1.2.jar:0.1.2]

at org.eclipse.milo.opcua.stack.core.serialization.binary.BinaryDecoder.decodeMessage(BinaryDecoder.java:388) ~[stack-core-0.1.2.jar:0.1.2]

at org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientMessageHandler.lambda$onSecureMessage$20(UaTcpClientMessageHandler.java:533) ~[stack-client-0.1.2.jar:0.1.2]

at org.eclipse.milo.opcua.stack.core.channel.SerializationQueue.lambda$decode$1(SerializationQueue.java:58) ~[stack-core-0.1.2.jar:0.1.2]

at org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$PollAndExecute.run(ExecutionQueue.java:107) [stack-core-0.1.2.jar:0.1.2]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_161]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_161]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_161]

at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]

....

So at the Moment no values will be transferred to the Cloud (only the metadata).

Is there anyone who could help?

Best regards,

Rainer

Accepted Solutions (0)

Answers (4)

Answers (4)

mzahid0071
Participant
0 Kudos

Perfect. Got it .

Last question -

using this , do we still need to create DB inside SAP account ??

Currently DB gets off and is active only for 12 hours, I am thinking to make it external.

Any suggestions on where the data is getting stored ?

RBETRICH
Participant
0 Kudos

NO, IOT Services store there content in separate containers, so you don't have to provide a separate DB.

mzahid0071
Participant
0 Kudos

Can anyone explain me why we are using IOT Gate Edge service ? when we can directly call via rest service ?

Currently In my scenario I am doing below stuff-

Sensors - Node - SAP CL ( AWS account )

I am not sure and would like to understand this Gate Edge service or might be terminology is difference , anyone can correct me ?

RBETRICH
Participant
0 Kudos

Hi, Gateway Edge provides some more protocols as the Cloud Service Endpoints REST/MQTT.

According to the SAP Spec therefore you can use OPC-UA, etc. to send data from the edge to the cloud.

BR,

Rainer

fparodi
Discoverer
0 Kudos

Hi Rainer,

I was able to perform some dedicated tests and reproduce the issue. The analysis showed that the root cause is related to the Milo issue you posted - thanks for reporting this information!

We are working to include a fix in one of the next releases of IoT Service.

RBETRICH
Participant
0 Kudos

Hi Flavio,

sorry for the delay but I have been on vacation.

do you believe this is a suitable answer? As we are working on some customer related activities, this won't help us in introducing the solution into the sme market.

So please help to solve that issue.

Or should I open an oss ticket?

BR,

Rainer

michaelcz
Explorer
0 Kudos

Hello Rainer,

have you created the data model prior to starting the Gateway? Please have a look at the tutorial.

Best regards,

Michael

RBETRICH
Participant
0 Kudos

Yes, of course.

the structure of that ops ua server will be transferred to our iot 4.0 Service Tenant and the devices will be created. But no values will be transferred.

As this ops ua server is publicly available please give it a try.

Best regards,

Rainer

RBETRICH
Participant
0 Kudos

there is also a thread on GitHub regarding milo https://github.com/eclipse/milo/issues/215.

Could you check that as well?

Thanks for your help.

Rainer