public void AddNodesAsync() { var nodesToAdd = new AddNodesItemCollection(); var addNodesItem = new AddNodesItem() { }; for (int ii = 0; ii < kOperationLimit * 2; ii++) { nodesToAdd.Add(addNodesItem); } var requestHeader = new RequestHeader(); var sre = Assert.ThrowsAsync <ServiceResultException>(async() => { var response = await Session.AddNodesAsync(requestHeader, nodesToAdd, CancellationToken.None).ConfigureAwait(false);; Assert.NotNull(response); AddNodesResultCollection results = response.Results; DiagnosticInfoCollection diagnosticInfos = response.DiagnosticInfos; Assert.AreEqual(nodesToAdd.Count, results.Count); Assert.AreEqual(diagnosticInfos.Count, diagnosticInfos.Count); }); Assert.AreEqual(StatusCodes.BadServiceUnsupported, sre.StatusCode); }
public void AddNodes() { var nodesToAdd = new AddNodesItemCollection(); var addNodesItem = new AddNodesItem() { }; for (int ii = 0; ii < kOperationLimit * 2; ii++) { nodesToAdd.Add(addNodesItem); } var requestHeader = new RequestHeader(); var sre = Assert.Throws <ServiceResultException>(() => { var responseHeader = Session.AddNodes(requestHeader, nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos); Assert.NotNull(responseHeader); Assert.AreEqual(nodesToAdd.Count, results.Count); Assert.AreEqual(diagnosticInfos.Count, diagnosticInfos.Count); }); Assert.AreEqual(StatusCodes.BadServiceUnsupported, sre.StatusCode); }
/// <summary> /// Invokes the AddNodes service. /// </summary> public virtual ResponseHeader AddNodes( RequestHeader requestHeader, AddNodesItemCollection nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return(CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported)); }
public void AddNewNode(NodeId parent) { // Create a Variable node. AddNodesItem node2 = new AddNodesItem( ); node2.ParentNodeId = new NodeId(parent); node2.ReferenceTypeId = ReferenceTypes.HasComponent; node2.RequestedNewNodeId = null; node2.BrowseName = new QualifiedName("DataVariable1"); node2.NodeClass = NodeClass.Variable; node2.NodeAttributes = null; node2.TypeDefinition = VariableTypeIds.BaseDataVariableType; //specify node attributes. VariableAttributes node2Attribtues = new VariableAttributes( ); node2Attribtues.DisplayName = "DataVariable1"; node2Attribtues.Description = "DataVariable1 Description"; node2Attribtues.Value = new Variant(123); node2Attribtues.DataType = (uint)BuiltInType.Int32; node2Attribtues.ValueRank = ValueRanks.Scalar; node2Attribtues.ArrayDimensions = new UInt32Collection( ); node2Attribtues.AccessLevel = AccessLevels.CurrentReadOrWrite; node2Attribtues.UserAccessLevel = AccessLevels.CurrentReadOrWrite; node2Attribtues.MinimumSamplingInterval = 0; node2Attribtues.Historizing = false; node2Attribtues.WriteMask = (uint)AttributeWriteMask.None; node2Attribtues.UserWriteMask = (uint)AttributeWriteMask.None; node2Attribtues.SpecifiedAttributes = (uint)NodeAttributesMask.All; node2.NodeAttributes = new ExtensionObject(node2Attribtues); AddNodesItemCollection nodesToAdd = new AddNodesItemCollection { node2 }; m_session.AddNodes( null, nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos); ClientBase.ValidateResponse(results, nodesToAdd); ClientBase.ValidateDiagnosticInfos(diagnosticInfos, nodesToAdd); }
public static Entry For(AddNodesItemCollection nodesToAdd) { if (nodesToAdd == null) { return(new NullEntry()); } else { ArrayEntry entry = new ArrayEntry(); AddNodesItemCollection.Enumerator e = nodesToAdd.GetEnumerator(); while (e.MoveNext()) { ObjectEntry node = new ObjectEntry(); node.Add("ParentNodeId", For(e.Current.ParentNodeId)); node.Add("ReferenceTypeId", For(e.Current.ReferenceTypeId)); node.Add("RequestedNewNodeId", For(e.Current.RequestedNewNodeId)); node.Add("TypeDefinition", For(e.Current.TypeDefinition)); entry.Add(node); } return(entry); } }
public void AddNewNode(NodeId parent) { AddNodesItem addNodesItem1 = new AddNodesItem(); addNodesItem1.ParentNodeId = (ExpandedNodeId) new NodeId(parent); addNodesItem1.ReferenceTypeId = (NodeId)47U; addNodesItem1.RequestedNewNodeId = (ExpandedNodeId)null; addNodesItem1.BrowseName = new QualifiedName("DataVariable1"); addNodesItem1.NodeClass = NodeClass.Variable; addNodesItem1.NodeAttributes = (ExtensionObject)null; addNodesItem1.TypeDefinition = (ExpandedNodeId)VariableTypeIds.BaseDataVariableType; VariableAttributes variableAttributes = new VariableAttributes(); variableAttributes.DisplayName = (LocalizedText)"DataVariable1"; variableAttributes.Description = (LocalizedText)"DataVariable1 Description"; variableAttributes.Value = new Opc.Ua.Variant(123); variableAttributes.DataType = (NodeId)6U; variableAttributes.ValueRank = -1; variableAttributes.ArrayDimensions = new UInt32Collection(); variableAttributes.AccessLevel = (byte)3; variableAttributes.UserAccessLevel = (byte)3; variableAttributes.MinimumSamplingInterval = 0.0; variableAttributes.Historizing = false; variableAttributes.WriteMask = 0U; variableAttributes.UserWriteMask = 0U; variableAttributes.SpecifiedAttributes = 4194303U; addNodesItem1.NodeAttributes = new ExtensionObject((object)variableAttributes); AddNodesItemCollection nodesItemCollection = new AddNodesItemCollection(); AddNodesItem addNodesItem2 = addNodesItem1; nodesItemCollection.Add(addNodesItem2); AddNodesItemCollection nodesToAdd = nodesItemCollection; AddNodesResultCollection results; DiagnosticInfoCollection diagnosticInfos; this.m_session.AddNodes((RequestHeader)null, nodesToAdd, out results, out diagnosticInfos); ClientBase.ValidateResponse((IList)results, (IList)nodesToAdd); ClientBase.ValidateDiagnosticInfos(diagnosticInfos, (IList)nodesToAdd); }
/// <summary> /// Invokes the AddNodes service. /// </summary> public virtual ResponseHeader AddNodes( RequestHeader requestHeader, AddNodesItemCollection nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { results = null; diagnosticInfos = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); }
/// <summary> /// Begins an asynchronous invocation of the AddNodes service. /// </summary> public IAsyncResult BeginAddNodes( RequestHeader requestHeader, AddNodesItemCollection nodesToAdd, AsyncCallback callback, object asyncState) { AddNodesRequest request = new AddNodesRequest(); request.RequestHeader = requestHeader; request.NodesToAdd = nodesToAdd; UpdateRequestHeader(request, requestHeader == null, "AddNodes"); if (UseTransportChannel) { return TransportChannel.BeginSendRequest(request, callback, asyncState); } return InnerChannel.BeginAddNodes(new AddNodesMessage(request), callback, asyncState); }
/// <summary> /// Invokes the AddNodes service. /// </summary> public virtual ResponseHeader AddNodes( RequestHeader requestHeader, AddNodesItemCollection nodesToAdd, out AddNodesResultCollection results, out DiagnosticInfoCollection diagnosticInfos) { AddNodesRequest request = new AddNodesRequest(); AddNodesResponse response = null; request.RequestHeader = requestHeader; request.NodesToAdd = nodesToAdd; UpdateRequestHeader(request, requestHeader == null, "AddNodes"); try { if (UseTransportChannel) { IServiceResponse genericResponse = TransportChannel.SendRequest(request); if (genericResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } ValidateResponse(genericResponse.ResponseHeader); response = (AddNodesResponse)genericResponse; } else { AddNodesResponseMessage responseMessage = InnerChannel.AddNodes(new AddNodesMessage(request)); if (responseMessage == null || responseMessage.AddNodesResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } response = responseMessage.AddNodesResponse; ValidateResponse(response.ResponseHeader); } results = response.Results; diagnosticInfos = response.DiagnosticInfos; } finally { RequestCompleted(request, response, "AddNodes"); } return response.ResponseHeader; }