/* To use a variable in this script, first ensure that the variable has been added to * either the list contained in the ReadOnlyVariables property or the list contained in * the ReadWriteVariables property of this script task, according to whether or not your * code needs to write to the variable. To add the variable, save this script, close this instance of * Visual Studio, and update the ReadOnlyVariables and * ReadWriteVariables properties in the Script Transformation Editor window. * To use a parameter in this script, follow the same steps. Parameters are always read-only. * * Example of reading from a variable: * DateTime startTime = (DateTime) Dts.Variables["System::StartTime"].Value; * * Example of writing to a variable: * Dts.Variables["User::myStringVariable"].Value = "new value"; * * Example of reading from a package parameter: * int batchId = (int) Dts.Variables["$Package::batchId"].Value; * * Example of reading from a project parameter: * int batchId = (int) Dts.Variables["$Project::batchId"].Value; * * Example of reading from a sensitive project parameter: * int batchId = (int) Dts.Variables["$Project::batchId"].GetSensitiveValue(); * */ #endregion #region Help: Firing Integration Services events from a script /* This script task can fire events for logging purposes. * * Example of firing an error event: * Dts.Events.FireError(18, "Process Values", "Bad value", "", 0); * * Example of firing an information event: * Dts.Events.FireInformation(3, "Process Values", "Processing has started", "", 0, ref fireAgain) * * Example of firing a warning event: * Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0); * */ #endregion #region Help: Using Integration Services connection managers in a script /* Some types of connection managers can be used in this script task. See the topic * "Working with Connection Managers Programatically" for details. * * Example of using an ADO.Net connection manager: * object rawConnection = Dts.Connections["Sales DB"].AcquireConnection(Dts.Transaction); * SqlConnection myADONETConnection = (SqlConnection)rawConnection; * //Use the connection in some code here, then release the connection * Dts.Connections["Sales DB"].ReleaseConnection(rawConnection); * * Example of using a File connection manager * object rawConnection = Dts.Connections["Prices.zip"].AcquireConnection(Dts.Transaction); * string filePath = (string)rawConnection; * //Use the connection in some code here, then release the connection * Dts.Connections["Prices.zip"].ReleaseConnection(rawConnection); * */ #endregion /// <summary> /// This method is called when this script task executes in the control flow. /// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure. /// To open Help, press F1. /// </summary> public void Main() { var wsdl = Dts.Variables["$Project::"].Value.ToString(); var token = Dts.Variables["$Project::"].Value.ToString(); var connectorId = Dts.Variables["User::"].Value.ToString(); var filtersXml = Dts.Variables["User::"].Value.ToString(); var targetFile = Dts.Variables["$Project::"].Value.ToString(); try { System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; var binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport) { MaxReceivedMessageSize = int.MaxValue, MaxBufferSize = int.MaxValue }; var endpoint = new EndpointAddress(wsdl); var soap = new AfasService.ConnectorAppGetSoapClient(binding, endpoint); var resp = soap.GetData(token, connectorId, filtersXml, -1, -1); Directory.CreateDirectory(targetFile.Substring(0, targetFile.LastIndexOf('\\'))); File.WriteAllText(targetFile, resp); Dts.TaskResult = (int)ScriptResults.Success; } catch (Exception e) { Dts.Events.FireError(1, "", e.Message, "", 0); Dts.TaskResult = (int)ScriptResults.Failure; } }
static void Main(string[] args) { var wsdl = "?WSDL"; var token = ""; var connectorId = ""; var binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport) { MaxReceivedMessageSize = 2097152, MaxBufferSize = 2097152 }; var soap = new AfasService.ConnectorAppGetSoapClient(binding, new EndpointAddress(wsdl)); var resp = soap.GetData(token, connectorId, "", -1, -1); Console.WriteLine(resp); Console.ReadLine(); }