/// <summary> /// Reads the values for one or more attributes. /// </summary> public ReadResponseMessage Read(ReadMessage request) { try { lock (m_lock) { // verify that the session is still valid. VerifySession(request.RequestHeader, false); // process each attribute. ListOfDataValue results = new ListOfDataValue(); ListOfDiagnosticInfo diagnosticInfos = new ListOfDiagnosticInfo(); for (int ii = 0; ii < request.NodesToRead.Count; ii++) { DataValue result = new DataValue(); DiagnosticInfo diagnosticInfo = new DiagnosticInfo(); m_nodeManager.Read( request.NodesToRead[ii], result, diagnosticInfo); results.Add(result); diagnosticInfos.Add(diagnosticInfo); } // return the response. ReadResponseMessage response = new ReadResponseMessage(); response.ResponseHeader = CreateResponseHeader(request.RequestHeader); response.Results = results; response.DiagnosticInfos = diagnosticInfos; return(response); } } catch (Exception e) { throw CreateSoapFault(request.RequestHeader, e); } }
/// <summary> /// Reads the values for one or more attributes. /// </summary> public ReadResponseMessage Read(ReadMessage request) { try { lock (m_lock) { // verify that the session is still valid. VerifySession(request.RequestHeader, false); // process each attribute. ListOfDataValue results = new ListOfDataValue(); ListOfDiagnosticInfo diagnosticInfos = new ListOfDiagnosticInfo(); for (int ii = 0; ii < request.NodesToRead.Count; ii++) { DataValue result = new DataValue(); DiagnosticInfo diagnosticInfo = new DiagnosticInfo(); m_nodeManager.Read( request.NodesToRead[ii], result, diagnosticInfo); results.Add(result); diagnosticInfos.Add(diagnosticInfo); } // return the response. ReadResponseMessage response = new ReadResponseMessage(); response.ResponseHeader = CreateResponseHeader(request.RequestHeader); response.Results = results; response.DiagnosticInfos = diagnosticInfos; return response; } } catch (Exception e) { throw CreateSoapFault(request.RequestHeader, e); } }