コード例 #1
0
        public override void PrimeOutput(int outputs, int[] outputIDs, PipelineBuffer[] buffers)
        {
            var binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = 999999999;

            var proxy      = new CAdxWebServiceXmlCCClient(binding, new EndpointAddress("http://" + Ip + ":28880/adxwsvc/services/CAdxWebServiceXmlCC"));
            var parameters = new List <CAdxParamKeyValue>();
            var response   = proxy.query(CallContext, PublicIdentifier, parameters.ToArray(), 2);

            var xml = new XmlDocument();

            xml.LoadXml(response.resultXml);

            var responseXmlWrapper = new X3ListResponseWrapper(xml);

            foreach (var line in responseXmlWrapper.Lines)
            {
                buffers[0].AddRow();

                foreach (var field in line.Fields)
                {
                    var index = GetCollumnIndex(field.Name);

                    buffers[0].SetString(index, field.Value);
                }
            }

            buffers[0].SetEndOfRowset();
        }
コード例 #2
0
        public override void ProcessInput(int inputID, PipelineBuffer inputBuffer)
        {
            while (inputBuffer.NextRow())
            {
                var inputCollection = ComponentMetaData.InputCollection[0];
                var inputColumns    = inputCollection.InputColumnCollection.Cast <IDTSInputColumn100>().ToList();
                var parameters      = new List <CAdxParamKeyValue>();
                for (int i = 0; i < inputColumns.Count; i++)
                {
                    var inputColumn      = inputColumns[i];
                    var inputColumnIndex = GetInputCollumnIndex(inputColumn.Name);
                    var inputColumnValue = inputBuffer.GetString(inputColumnIndex);

                    parameters.Add(new CAdxParamKeyValue()
                    {
                        key = i.ToString(), value = inputColumnValue
                    });
                }

                var binding = new BasicHttpBinding();
                binding.MaxReceivedMessageSize = WebServiceMaxResponse;

                var proxy = new CAdxWebServiceXmlCCClient(binding, new EndpointAddress("http://" + Ip + ":28880/adxwsvc/services/CAdxWebServiceXmlCC"));

                var response = proxy.read(CallContext, PublicIdentifier, parameters.ToArray());

                var xml = new XmlDocument();
                xml.LoadXml(response.resultXml);

                var responseXmlWrapper = new X3ObjectResponseWrapper(xml);

                outputBuffer.AddRow();
                foreach (var groupTag in responseXmlWrapper.ResultGroups)
                {
                    foreach (var field in groupTag.Fields)
                    {
                        var fieldName = groupTag.Id + "|" + field.Name;

                        try
                        {
                            var index = GetOutputCollumnIndex(fieldName);

                            outputBuffer.SetString(index, field.Value);
                        }
                        catch (Exception e) {}
                    }
                }
            }

            if (inputBuffer.EndOfRowset)
            {
                outputBuffer.SetEndOfRowset();
            }
        }
コード例 #3
0
        private void GenerateOutputs()
        {
            var binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = 999999999;

            var proxy      = new CAdxWebServiceXmlCCClient(binding, new EndpointAddress("http://" + Ip + ":28880/adxwsvc/services/CAdxWebServiceXmlCC"));
            var parameters = new List <CAdxParamKeyValue>();
            var response   = proxy.getDescription(CallContext, PublicIdentifier);

            var descriptionRawXml = response.resultXml;
            var descriptionXml    = new XmlDocument();

            descriptionXml.LoadXml(descriptionRawXml);

            var description = new X3XmlDescriptionWrapper(descriptionXml);

            IDTSOutput100 output;
            bool          hasOutputCollection = ComponentMetaData.OutputCollection.Count > 0;

            if (!hasOutputCollection)
            {
                output      = ComponentMetaData.OutputCollection.New();
                output.Name = "Output";
            }
            else
            {
                output = ComponentMetaData.OutputCollection[0];
            }

            var outputColumns       = output.OutputColumnCollection;
            var outputColumnsCasted = outputColumns.Cast <IDTSOutputColumn100>();

            /*
             * foreach (var listField in description.ListDescription)
             * {
             *  IDTSOutputColumn100 newColumn;
             *  if (outputColumnsCasted.Any(c => c.Name == listField.Name))
             *      newColumn = outputColumnsCasted.Single(c => c.Name == listField.Name);
             *  else
             *      newColumn = outputColumns.New();
             *
             *  newColumn.Name = listField.Name;
             *  switch (listField.DataType)
             *  {
             *      case "Char":
             *          newColumn.SetDataTypeProperties(DataType.DT_WSTR, (int)listField.Length, 0, 0, 0);
             *          break;
             *      default:
             *          throw new NotImplementedException();
             *  }
             * }*/
        }
コード例 #4
0
        private void GenerateInputsAndOutputs()
        {
            var binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = WebServiceMaxResponse;

            var proxy      = new CAdxWebServiceXmlCCClient(binding, new EndpointAddress("http://" + Ip + ":28880/adxwsvc/services/CAdxWebServiceXmlCC"));
            var parameters = new List <CAdxParamKeyValue>();
            var response   = proxy.getDescription(CallContext, PublicIdentifier);

            var descriptionRawXml = response.resultXml;
            var descriptionXml    = new XmlDocument();

            descriptionXml.LoadXml(descriptionRawXml);

            var description = new X3XmlDescriptionWrapper(descriptionXml);


            if (ComponentMetaData.InputCollection.Count == 0)
            {
                var inputCollection = ComponentMetaData.InputCollection.New();
                inputCollection.Name = "Input";
                var inputCollumnsCollection = inputCollection.InputColumnCollection;
                foreach (var group in description.ReadDescription)
                {
                    foreach (var field in group.Fields)
                    {
                        var inputColumn = inputCollumnsCollection.New();

                        inputColumn.Name = group.Name + "|" + field.Name;
                    }
                }
            }

            IDTSOutput100 output;
            bool          hasOutputCollection = ComponentMetaData.OutputCollection.Count > 0;

            if (!hasOutputCollection)
            {
                output      = ComponentMetaData.OutputCollection.New();
                output.Name = "Output";
            }
            else
            {
                output = ComponentMetaData.OutputCollection[0];
            }

            var outputColumnsCollection = output.OutputColumnCollection;
            var outputColumns           = outputColumnsCollection.Cast <IDTSOutputColumn100>();

            foreach (var group in description.ObjectDescription)
            {
                foreach (var field in group.Fields)
                {
                    var fieldName = group.Name + "|" + field.Name;
                    if (field.DataType == "Char")
                    {
                        IDTSOutputColumn100 newColumn;
                        if (outputColumns.Any(c => c.Name == fieldName))
                        {
                            newColumn = outputColumns.Single(c => c.Name == fieldName);
                        }
                        else
                        {
                            newColumn = outputColumnsCollection.New();
                        }

                        newColumn.Name = fieldName;
                        switch (field.DataType)
                        {
                        case "Char":
                            newColumn.SetDataTypeProperties(DataType.DT_WSTR, (int)field.Length, 0, 0, 0);
                            break;

                        default:
                            throw new NotImplementedException();
                        }
                    }
                }
            }
        }
コード例 #5
0
        private void GenerateOutputs()
        {
            var binding = new BasicHttpBinding();
            binding.MaxReceivedMessageSize = 999999999;

            var proxy = new CAdxWebServiceXmlCCClient(binding, new EndpointAddress("http://"+Ip+":28880/adxwsvc/services/CAdxWebServiceXmlCC"));
            var parameters = new List<CAdxParamKeyValue>();
            var response = proxy.getDescription(CallContext, PublicIdentifier);

            var descriptionRawXml = response.resultXml;
            var descriptionXml = new XmlDocument();
            descriptionXml.LoadXml(descriptionRawXml);

            var description = new X3XmlDescriptionWrapper(descriptionXml);

            IDTSOutput100 output;
            bool hasOutputCollection = ComponentMetaData.OutputCollection.Count > 0;
            if (!hasOutputCollection)
            {
                output = ComponentMetaData.OutputCollection.New();
                output.Name = "Output";
            }
            else
                output = ComponentMetaData.OutputCollection[0];

            var outputColumns = output.OutputColumnCollection;
            var outputColumnsCasted = outputColumns.Cast<IDTSOutputColumn100>();
            /*
            foreach (var listField in description.ListDescription)
            {
                IDTSOutputColumn100 newColumn;
                if (outputColumnsCasted.Any(c => c.Name == listField.Name))
                    newColumn = outputColumnsCasted.Single(c => c.Name == listField.Name);
                else
                    newColumn = outputColumns.New();

                newColumn.Name = listField.Name;
                switch (listField.DataType)
                {
                    case "Char":
                        newColumn.SetDataTypeProperties(DataType.DT_WSTR, (int)listField.Length, 0, 0, 0);
                        break;
                    default:
                        throw new NotImplementedException();
                }
            }*/
        }
コード例 #6
0
        public override void PrimeOutput(int outputs, int[] outputIDs, PipelineBuffer[] buffers)
        {
            var binding = new BasicHttpBinding();
            binding.MaxReceivedMessageSize = 999999999;

            var proxy = new CAdxWebServiceXmlCCClient(binding, new EndpointAddress("http://"+Ip+":28880/adxwsvc/services/CAdxWebServiceXmlCC"));
            var parameters = new List<CAdxParamKeyValue>();
            var response = proxy.query(CallContext, PublicIdentifier, parameters.ToArray(), 2);

            var xml = new XmlDocument();
            xml.LoadXml(response.resultXml);

            var responseXmlWrapper = new X3ListResponseWrapper(xml);

            foreach (var line in responseXmlWrapper.Lines)
            {
                buffers[0].AddRow();

                foreach (var field in line.Fields)
                {
                    var index = GetCollumnIndex(field.Name);

                    buffers[0].SetString(index, field.Value);
                }
            }

            buffers[0].SetEndOfRowset();
        }
コード例 #7
0
        public override void ProcessInput(int inputID, PipelineBuffer inputBuffer)
        {
            while (inputBuffer.NextRow())
            {
                var inputCollection = ComponentMetaData.InputCollection[0];
                var inputColumns = inputCollection.InputColumnCollection.Cast<IDTSInputColumn100>().ToList();
                var parameters = new List<CAdxParamKeyValue>();
                for (int i = 0; i < inputColumns.Count; i++)
                {
                    var inputColumn = inputColumns[i];
                    var inputColumnIndex = GetInputCollumnIndex(inputColumn.Name);
                    var inputColumnValue = inputBuffer.GetString(inputColumnIndex);

                    parameters.Add(new CAdxParamKeyValue() { key = i.ToString(), value = inputColumnValue });
                }

                var binding = new BasicHttpBinding();
                binding.MaxReceivedMessageSize = WebServiceMaxResponse;

                var proxy = new CAdxWebServiceXmlCCClient(binding, new EndpointAddress("http://" + Ip + ":28880/adxwsvc/services/CAdxWebServiceXmlCC"));

                var response = proxy.read(CallContext, PublicIdentifier, parameters.ToArray());

                var xml = new XmlDocument();
                xml.LoadXml(response.resultXml);

                var responseXmlWrapper = new X3ObjectResponseWrapper(xml);

                outputBuffer.AddRow();
                foreach (var groupTag in responseXmlWrapper.ResultGroups)
                {
                    foreach (var field in groupTag.Fields)
                    {
                        var fieldName = groupTag.Id + "|" + field.Name;

                        try
                        {
                            var index = GetOutputCollumnIndex(fieldName);

                            outputBuffer.SetString(index, field.Value);
                        }
                        catch(Exception e) {}
                    }
                }
            }

            if (inputBuffer.EndOfRowset)
                outputBuffer.SetEndOfRowset();
        }