Łukasz Dywicki created PLC4X-342:
------------------------------------
Summary: OPC UA silently fails to handle subscription response
Key: PLC4X-342
URL: https://issues.apache.org/jira/browse/PLC4X-342
Project: Apache PLC4X
Issue Type: Bug
Components: Driver-OPC-UA
Affects Versions: 0.9.1
Reporter: Łukasz Dywicki
Assignee: Ben Hutcheson
Attachments: opcua_monitored_item_wrong_index..pcapng
While test of OPC UA simulator coming from freeopcua I found out that our
client doesn't work with it. Maybe it is an issue of how they encode payload,
maybe it is inconsistency in the spec, not sure - the end result is that actual
response processing error gets swallowed and driver hangs.
Guilty code is in {{OpcuaSubscriptionHandle}}:
{code}
for (MonitoredItemCreateResult result :
responseMessage.getResults().toArray(new MonitoredItemCreateResult[0])) {
if (OpcuaStatusCode.enumForValue(result.getStatusCode().getStatusCode()) !=
OpcuaStatusCode.Good) {
LOGGER.error("Invalid Field {}, subscription created without this
field", fieldNames.get((int) result.getMonitoredItemId()));
} else {
LOGGER.debug("Field {} was added to the subscription",
fieldNames.get((int) result.getMonitoredItemId() - 1)); // !monitored item id
might be inconsistent!
}
}
{/code}
Copy of traffic causing issue in attachment.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)