現在、OPC UA Foundation Java Stackを使用しています。追加のSDKはありません。OPC UA Java - サブスクリプションからMonitoredItemIDを取得する方法publishResponse
私は複数の監視対象項目を使用してサブスクリプションを実装することができましたが、パブリッシュ応答を通じて変更通知を正しく取得しています。
問題は、1つのサブスクリプションに複数のアイテムがある場合、どの監視対象アイテムがdatachangeレスポンスを担当しているのかわかりません。 MonitoredItemNotificationにはその方法がないようですか? itemId、displayname、nodeId、またはレスポンスのアイテムを識別するための何かを得るにはどうすればよいですか?
ResponseHeader=ResponseHeader
Timestamp=06/23/16 10:36:41.9018551 GMT
RequestHandle=0
ServiceResult=GOOD (0x00000000) ""
ServiceDiagnostics=Diagnostic Info:
StringTable=class java.lang.String[0]
AdditionalHeader=null
SubscriptionId=92
AvailableSequenceNumbers=class org.opcfoundation.ua.builtintypes.UnsignedInteger[2]
[0]=1
[1]=2
MoreNotifications=false
NotificationMessage=NotificationMessage
SequenceNumber=2
PublishTime=06/23/16 10:36:41.9018551 GMT
NotificationData=class org.opcfoundation.ua.builtintypes.ExtensionObject[1]
[0]=DataChangeNotification: DataChangeNotification
MonitoredItems=class org.opcfoundation.ua.core.MonitoredItemNotification[1]
[0]=MonitoredItemNotification
ClientHandle=0
Value=DataValue(value=true, statusCode=GOOD (0x00000000) "", sourceTimestamp=06/23/16 10:36:41.7146527 GMT, sourcePicoseconds=0, serverTimestamp=null, serverPicoseconds=0)
DiagnosticInfos=class org.opcfoundation.ua.builtintypes.DiagnosticInfo[0]
Results=class org.opcfoundation.ua.builtintypes.StatusCode[0]
DiagnosticInfos=class org.opcfoundation.ua.builtintypes.DiagnosticInfo[0]
を持っている理由です受け入れと、それは同じ質問を持つ人々がeasillyソリューションを理解するのにも役立ちますので、答えをマークしてくださいね。 –