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);
        }
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }