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(); }
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(); } }
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(); * } * }*/ }
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(); } } } } }
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(); } }*/ }
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(); }
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(); }