18:01, EET
February 6, 2020
Hello,
when I try to write a value to a node that doesn’t exist, I get a ServiceException: Bad_Timeout. The node I’m trying to write to is obviously invalid (this is for a unit test):
“ns=99;s=gibberish”.
This is the stacktrace I’m getting:
com.prosysopc.ua.ServiceException: Bad_Timeout (code=0x800A0000, description=”The operation timed out.”) ServiceResult=Bad_Timeout (0x800A0000) “The operation timed out.”
at com.prosysopc.ua.client.UaClient.a(SourceFile:5370)
at com.prosysopc.ua.client.UaClient.write(SourceFile:4556)
at com.prosysopc.ua.client.UaClient.writeValues(SourceFile:4868)
at com.tcon.prosysservice.StandardProsysOPCUAService.writeNodes(StandardProsysOPCUAService.java:123)
StandardProsysOPCUAService.java:123
at com.tcon.processors.prosys.WriteOPCUA.onTrigger(WriteOPCUA.java:131)
WriteOPCUA.java:131
at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
AbstractProcessor.java:27
at org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:259)
StandardProcessorTestRunner.java:259
at org.apache.nifi.util.StandardProcessorTestRunner$RunProcessor.call(StandardProcessorTestRunner.java:253)
StandardProcessorTestRunner.java:253
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.prosysopc.ua.stack.common.ServiceResultException: Bad_Timeout (code=0x800A0000, description=”The operation timed out.”)
at com.prosysopc.ua.stack.transport.impl.AsyncResultImpl.waitForResult(SourceFile:287)
at com.prosysopc.ua.stack.transport.tcp.io.SecureChannelTcp.serviceRequest(SourceFile:869)
at com.prosysopc.ua.stack.transport.tcp.io.SecureChannelTcp.serviceRequest(SourceFile:808)
at com.prosysopc.ua.stack.application.SessionChannel.serviceRequest(SourceFile:305)
at com.prosysopc.ua.stack.transport.ChannelService.Write(SourceFile:827)
at com.prosysopc.ua.client.UaClient.a(SourceFile:5363)
… 12 more
I’ve tried this with multiple servers and I cannot get this to work with either of them.
Can you help?
EDIT:
Prosys Version: 4.14
Java Version: 11
9:17, EET
Moderators
February 11, 2020
Hello,
Receiving Bad_Timeout as a response to a write request suggests that the Servers are unable to process the request and give a proper response in a timely manner or at all. If you have configured a long timeout to your UaClient instance, then it is most likely the latter case. If the Servers you’re connecting your Client to haven’t been programmed to handle nonexistent NodeIds and namespaces properly, it is possible that the write operation fails on the Server side and this failure isn’t reported to the Client with Bad_NodeIdUnknown leading to a Bad_Timeout instead.
Have you tried to perform this write operation with SampleConsoleClient of the Java SDK? The operation should complete with Bad_NodeIdUnknown StatusCode for WriteValues that specify nonexistent Node. You could also use Wireshark to monitor the traffic between your Client and the Servers to verify whether the response to your write request is sent too late or not sent at all. See https://www.prosysopc.com/blog/opc-ua-wireshark/ for instructions on how to use Wireshark with OPC UA.
BR,
Matti
Most Users Ever Online: 1919
Currently Online:
19 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 735
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1523
Posts: 6449
Newest Members:
rust, christamcdowall, redaahern07571, nigelbdhmp, travistimmons, AnnelCib, dalenegettinger, howardkennerley, Thomassnism, biancacraft16Moderators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1026, Jimmy Ni: 26, Matti Siponen: 346, Lusetti: 0
Administrators: admin: 1