Share via


3.2 Web Service Task and Script Task

The following example is taken from [Haselden], with modifications.

The following package file illustrates a Web Service Task executable that draws stock quotes from a quote system and a Script Task executable that displays the result. The package file also contains a PrecedenceConstraint operation that describes the relationship between the two tasks. The Microsoft SQL Server Integration Services (SSIS) user interface in the designer that represents this package example is shown in the following diagram.

pictf55a0bde-30ca-4730-92db-37fcaff82293

Figure 4: Web Service Task executable and the Script Task in Integration Services user interface

The Script Task executable in this package file is an example of how custom user code is stored in a package file. In the Script Task executable, the ObjectData element contains a ScriptProject element. Within the ScriptProject element is a collection of ProjectItem elements, each of which contains Microsoft Visual Basic source code for the script project. Also within the ScriptProject element is a BinaryItem element, which contains the compiled source code for this project, encoded as type xs:base64binary.

<?xml version="1.0"?>
<DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts"
  DTS:refId="Package"
  DTS:CreationDate="7/16/2005 3:59:24 PM"
  DTS:CreationName="SSIS.Package.3"
  DTS:CreatorComputerName="ROMEO"
  DTS:CreatorName="Kirk Haselden"
  DTS:DTSID="{6BC04190-25CC-422A-92BE-68ACBD6F59E8}"
  DTS:EnableConfig="True"
  DTS:ExecutableType="SSIS.Package.3"
  DTS:ExecValue="0"
  DTS:ExecValueType="3"
  DTS:LastModifiedProductVersion="11.0.1153.1"
  DTS:LocaleID="1033"
  DTS:ObjectName="WebService"
  DTS:PackageType="5"
  DTS:ProtectionLevel="0"
  DTS:VersionBuild="117"
  DTS:VersionGUID="{57687733-19AA-4974-9B56-5BEB6BD40E11}">
  <DTS:Property
    DTS:Name="PackageFormatVersion">6</DTS:Property>
  <DTS:ConnectionManagers>
    <DTS:ConnectionManager
      DTS:refId="Package.ConnectionManagers[cmService]"
      DTS:CreationName="HTTP"
      DTS:DTSID="{2DA145FD-9C6E-487D-9A50-DD97C1D11763}"
      DTS:ObjectName="cmService">
      <DTS:ObjectData>
        <DTS:ConnectionManager
  DTS:ConnectionString="http://www.ecubicle.net/livestockquotes.asmx?WSDL">
          <DTS:HttpConnection
  DTS:ServerURL="http://www.ecubicle.net/livestockquotes.asmx?WSDL">
            <DTS:Property
              DTS:Name="ServerPassword"
              Sensitive="1"></DTS:Property>
            <DTS:Property
              DTS:Name="ProxyPassword"
              Sensitive="1"></DTS:Property>
          </DTS:HttpConnection>
        </DTS:ConnectionManager>
      </DTS:ObjectData>
    </DTS:ConnectionManager>
    <DTS:ConnectionManager
      DTS:refId="Package.ConnectionManagers[fio]"
      DTS:CreationName="FILE"
      DTS:DTSID="{C5C2675C-13D7-4DED-B499-9F45AA97C32A}"
      DTS:ObjectName="fio">
      <DTS:ObjectData>
        <DTS:ConnectionManager
          DTS:FileUsageType="1"
          DTS:ConnectionString="fio" />
      </DTS:ObjectData>
    </DTS:ConnectionManager>
  </DTS:ConnectionManagers>
  <DTS:Configurations>
    <DTS:Configuration
      DTS:ConfigurationString="SSISSAMPLESROOT"
      DTS:ConfigurationType="2"
      DTS:ConfigurationVariable="\Package.Variables[SAMPLES::ROOTWD].
      Properties[Value]"
      DTS:CreationName=""
      DTS:DTSID="{90405045-3A91-43C2-B759-6C183C0E81A6}"
      DTS:ObjectName="Configure The Root Folder" />
    <DTS:Configuration
      DTS:ConfigurationString="SSISSAMPLESERVER"
      DTS:ConfigurationType="2"
      DTS:ConfigurationVariable="\Package.Variables[SAMPLES::SERVERNAME].
      Properties[Value]"
      DTS:CreationName=""
      DTS:DTSID="{A9F64F24-15C2-4198-A308-F9124C48468D}"
      DTS:ObjectName="Configure The Sample Server Name" />
  </DTS:Configurations>
  <DTS:Variables>
    <DTS:Variable
      DTS:CreationName=""
      DTS:DTSID="{E05C4384-FA46-4EDB-9E41-E0CDD6DD4DC6}"
      DTS:EvaluateAsExpression="True"
      DTS:Expression="@ROOTWD + &quot;\\&quot; + @SAMPLESUBFOLDER"
      DTS:IncludeInDebugDump="2345"
      DTS:Namespace="SAMPLES"
      DTS:ObjectName="CURRENTWD">
      <DTS:VariableValue
        DTS:DataType="8">C:\USERS\V-TOMCON.REDMOND\MY DOCUMENTS\SSIS\
        BOOKSAMPLES2005\S08-StockTasks</DTS:VariableValue>
    </DTS:Variable>
    <DTS:Variable
      DTS:CreationName=""
      DTS:DTSID="{3BD365BA-FE06-4B5A-8100-69F27C71B74E}"
      DTS:IncludeInDebugDump="2345"
      DTS:Namespace="SAMPLES"
      DTS:ObjectName="ROOTWD">
      <DTS:VariableValue
        DTS:DataType="8">C:\USERS\V-TOMCON.REDMOND\MY DOCUMENTS\SSIS\
        BOOKSAMPLES2005</DTS:VariableValue>
    </DTS:Variable>
    <DTS:Variable
      DTS:CreationName=""
      DTS:DTSID="{6E7FB8C5-7F98-454E-87E0-D9BF0D0E06AD}"
      DTS:IncludeInDebugDump="2345"
      DTS:Namespace="SAMPLES"
      DTS:ObjectName="SAMPLESUBFOLDER">
      <DTS:VariableValue
        DTS:DataType="8">S08-StockTasks</DTS:VariableValue>
    </DTS:Variable>
    <DTS:Variable
      DTS:CreationName=""
      DTS:DTSID="{5F9998D0-186D-4C44-A949-66C8477A3CE7}"
      DTS:IncludeInDebugDump="2345"
      DTS:Namespace="SAMPLES"
      DTS:ObjectName="SERVERNAME">
      <DTS:VariableValue
        DTS:DataType="8">.</DTS:VariableValue>
    </DTS:Variable>
    <DTS:Variable
      DTS:CreationName=""
      DTS:DTSID="{E084171E-93C0-43BC-BC6C-83833B78109E}"
      DTS:IncludeInDebugDump="2345"
      DTS:Namespace="SAMPLES"
      DTS:ObjectName="STOCKQUOTE">
      <DTS:VariableValue
        DTS:DataType="8"></DTS:VariableValue>
    </DTS:Variable>
    <DTS:Variable
      DTS:CreationName=""
      DTS:DTSID="{58589E35-3D84-4D07-8A32-A75E6591D7F0}"
      DTS:IncludeInDebugDump="2345"
      DTS:Namespace="SAMPLES"
      DTS:ObjectName="TICKERSYMBOL">
      <DTS:VariableValue
        DTS:DataType="8">MSFT</DTS:VariableValue>
    </DTS:Variable>
  </DTS:Variables>
  <DTS:Executables>
    <DTS:Executable
      DTS:refId="Package\Get Stock Quote"
      DTS:CreationName="Microsoft.SqlServer.Dts.Tasks.WebServiceTask.
      WebServiceTask, Microsoft.SqlServer.WebServiceTask, 
      Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
      DTS:Description="Web Service Task"
      DTS:DTSID="{6CA7FC7C-AB58-4C39-BD00-3F22B51AAB92}"
      DTS:ExecutableType="Microsoft.SqlServer.Dts.Tasks.WebServiceTask.
      WebServiceTask, Microsoft.SqlServer.WebServiceTask, Version=11.0.0.0, 
      Culture=neutral, PublicKeyToken=89845dcd8080cc91"
      DTS:ExecValue="0"
      DTS:ExecValueType="3"
      DTS:LocaleID="-1"
      DTS:ObjectName="Get Stock Quote"
      DTS:TaskContact="Web Service Task; Microsoft Corporation; Microsoft 
      SQL Server v9; © 2004 Microsoft Corporation; All Rights Reserved;
      http://www.microsoft.com/sql/support/default.asp;1"
      DTS:ThreadHint="0">
      <DTS:Variables />
      <DTS:PropertyExpression
        DTS:Name="WsdlFile">@[SAMPLES::ROOTWD] + "\\SampleData\\Service.wsdl"
      </DTS:PropertyExpression>
      <DTS:ObjectData>
        <WSTask:WebServiceTaskData
          WSTask:ConnectionName="{2DA145FD-9C6E-487D-9A50-DD97C1D11763}"
          WSTask:Service="LiveStockQuotes"
          WSTask:WSDLFile="C:\USERS\V-TOMCON.REDMOND\MY DOCUMENTS\SSIS\
          BOOKSAMPLES2005\SampleData\Service.wsdl"
          WSTask:OverwriteWSDLFile="True"
          WSTask:OutputLocation="fio" xmlns:WSTask="www.microsoft.com/
          sqlserver/dts/tasks/webservicetask">
          <WSTask:MethodInfo
            WSTask:MethodName="liveMarketAsString"
            WSTask:MessageName="LiveMarketAsString">
            <WSTask:Documentation>&amp;lt;h3&amp;gt;This method can be used
            if a consumer is unable to consume liveMarket method. The 
            returned data is XML string.&amp;lt;/h3&amp;gt;
          </WSTask:Documentation>
            <WSTask:ParamInfo
              WSTask:Name="stockSymbol"
              WSTask:Datatype="string"
              WSTask:ParamType="Primitive"
              WSTask:SeqNumber="0">
              <WSTask:PrimitiveValue></WSTask:PrimitiveValue>
            </WSTask:ParamInfo>
          </WSTask:MethodInfo>
        </WSTask:WebServiceTaskData>
      </DTS:ObjectData>
    </DTS:Executable>
    <DTS:Executable
      DTS:refId="Package\Show Stock Price"
      DTS:CreationName="Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask,
      Microsoft.SqlServer.ScriptTask, Version=11.0.0.0, Culture=neutral, 
      PublicKeyToken=89845dcd8080cc91"
      DTS:Description="Script Task"
      DTS:DTSID="{325ba39d-e3ab-46cc-8f27-c28e9a5f9f8f}"
      DTS:ExecutableType="Microsoft.SqlServer.Dts.Tasks.ScriptTask.
      ScriptTask, Microsoft.SqlServer.ScriptTask, Version=11.0.0.0, 
      Culture=neutral, PublicKeyToken=89845dcd8080cc91"
      DTS:ExecValue="0"
      DTS:ExecValueType="3"
      DTS:LocaleID="-1"
      DTS:ObjectName="Show Stock Price"
      DTS:ThreadHint="0">
      <DTS:Variables />
      <DTS:ObjectData>
        <ScriptProject
          Name="ScriptTask_053aaa1de6d84acab80050be0c42b6f2"
          VSTAMajorVersion="2"
          VSTAMinorVersion="2"
          Language="VisualBasic"
          ReadOnlyVariables="SAMPLES::STOCKQUOTE,SAMPLES::TICKERSYMBOL">
          <ProjectItem
            Name="\my project\assemblyinfo.vb"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following 
' set of attributes. Change these attribute values to modify the information
' associated with an assembly. 
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("ScriptTask_053aaa1de6d84acab80050be0c42b6f2.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("MSIT")> 
<Assembly: AssemblyProduct("ScriptTask_053aaa1de6d84acab80050be0c42b6f2.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ MSIT 2008")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 
<Assembly: ComVisible(False)> 
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("e54931f7-e817-4314-a409-3cdc9702928a")>
' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")> 
<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> ]]></ProjectItem>
          <ProjectItem
            Name="\my project\settings.designer.vb"><![CDATA['------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'-------------------------------------------------------------------------- 
Option Strict Off
Option Explicit On 
Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase
    Private Shared m_Value As MySettings
    Private Shared m_SyncObject As Object = New Object
    <System.Diagnostics.DebuggerNonUserCode()> _
    Public Shared ReadOnly Property Value() As MySettings
        Get
            If (MySettings.m_Value Is Nothing) Then
                System.Threading.Monitor.Enter(MySettings.m_SyncObject)
                If (MySettings.m_Value Is Nothing) Then
                    Try
                        MySettings.m_Value = New MySettings
                    Finally
                    System.Threading.Monitor.Exit(MySettings.m_SyncObject)
                    End Try
                End If
            End If
            Return MySettings.m_Value
        End Get
    End Property
End Class]]></ProjectItem>
          <ProjectItem
            Name="\scripttask_053aaa1de6d84acab80050be0c42b6f2.vbproj">
            <![CDATA[<Project ToolsVersion="3.5" DefaultTargets="Build" 
            xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties. 
       Configuration - Specifies whether the default 
       configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can 
       run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to 
       new files.
                       In Visual Basic, all objects are wrapped in 
                       this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{A860303F-1F3F-4691-B57E-529FC101A107};
    {F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug
    </Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptTask_053aaa1de6d84acab80050be0c42b6f2.vbproj
    </RootNamespace>
    <AssemblyName>ScriptTask_053aaa1de6d84acab80050be0c42b6f2.vbproj
    </AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{EB2B3188-9A8D-427A-988F-48D11FE940F1}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" 
  configuration is
       selected. 
       DebugSymbols - If true, create symbols (.pdb). If false, do not 
       create symbols.
       Optimize - If true, optimize the build output. If false, do 
       not optimize.
       OutputPath - Output path of the project relative to the
       project file.
       EnableUnmanagedDebugging - If true, starting the debugger 
       will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" 
  configuration is
       selected. 
       DebugSymbols - If true, create symbols (.pdb). If false, 
       do not create symbols.
       Optimize - If true, optimize the build output. If false, 
       do not optimize.
       OutputPath - Output path of the project relative to the 
       project file.
       EnableUnmanagedDebugging - If true, starting the debugger will 
       attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these 
       properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="Microsoft.SqlServer.ManagedDTS, 
    Version=11.0.0.0, Culture=neutral, 
    PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, 
    Version=11.0.0.0, Culture=neutral, 
    PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System" />
    <Reference Include="System.AddIn, 
    Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, 
    processorArchitecture=MSIL" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces 
  (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <!-- This section defines the user source files that are part of the
       project. 
       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler 
       (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application 
       properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <Compile Include="ScriptMain.designer.vb">
      <DependentUpon>ScriptMain.Designer.xml</DependentUpon>
    </Compile>
    <Compile Include="ScriptMain.vb">
      <SubType>Code</SubType>
    </Compile>
    <None Include="ScriptMain.Designer.xml">
      <DependentUpon>ScriptMain.vb</DependentUpon>
    </None>
    <!-- Include the default configuration information and metadata 
    files for the add-in.
         These files are copied to the build output directory when 
         the project is
         built, and the path to the configuration file is passed to 
         add-in on the command
         line when debugging.
    -->
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-
  changeable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{A860303F-1F3F-4691-B57E-529FC101A107}">
        <ProjectProperties HostName="VSTAHostName" HostPackage=
        "{C1B21C64-9E6F-4923-A89D-9F958503C1CE}" ApplicationType="usd" 
        Language="vb" TemplatesPath="" DebugInfoExeName=
        "#HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\
        InstallDir#\devenv.exe" />
        <Host Name="SSIS_ScriptTask">
          <HostItem Name="ScriptMain" Code="ScriptMain.vb" 
          CanonicalName="ScriptMain" DisplayName="ScriptMain" 
          Blueprint="ScriptMain.Designer.xml" GeneratedCode=
          "ScriptMain.designer.vb" />
        </Host>
        <ProjectClient>
          <HostIdentifier>SSIS_ST110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></ProjectItem>
          <ProjectItem
            Name="\my project\settings.settings">
            <![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" 
GeneratedClassNamespace="$safeprojectname" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></ProjectItem>
          <ProjectItem
            Name="\my project\resources.designer.vb"><![CDATA['----------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------- 
Option Strict Off
Option Explicit On 
Namespace My.Resources
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, 
    etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        Private Shared _resMgr As System.Resources.ResourceManager
        Private Shared _resCulture As System.Globalization.CultureInfo
        Friend Sub New()
            MyBase.New
        End Sub
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.
        ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.
        Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = 
                    New System.Resources.ResourceManager
                    ("My.Resources.MyResources", 
                    GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture 
        property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute
        (System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace]]></ProjectItem>
          <ProjectItem
            Name="\scriptmain.designer.vb">
            <![CDATA[<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.
  VSTARTScriptObjectModelBase
End Class]]></ProjectItem>
          <ProjectItem
            Name="\my project\resources.resx">
            <![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types. 
    Example: 
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, 
    System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, 
    System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>
    this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue
    </data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.
    binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]
        </value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" 
    mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array 
        form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple 
    name/value pairs. 
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set. 
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly: 
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below. 
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding. 
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding. 
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" 
                minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" 
                minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" 
              msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" 
              msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" 
              msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" 
                minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, 
    Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></ProjectItem>
          <ProjectItem
            Name="\scriptmain.vb"><![CDATA[Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.Xml
<System.AddIn.AddIn("ScriptMain", Version:="1.0", Publisher:="", 
Description:="")> _
Partial Class ScriptMain 
Private Sub ScriptMain_Startup(ByVal sender As Object, ByVal e As 
  System.EventArgs) 
End Sub 
Private Sub ScriptMain_Shutdown(ByVal sender As Object, ByVal e As 
  System.EventArgs) 
Try
' Unlock variables from the read-only and read-write variable 
      collection properties
If (Dts.Variables.Count <> 0) Then
Dts.Variables.Unlock()
End If
Catch ex As Exception
End Try
End Sub 
Enum ScriptResults
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
End Enum
    Public Sub Main()
        Dim last As String = New String("")
        Dim xmlDoc As XmlDocument = New XmlDocument()
        xmlDoc.LoadXml(Dts.Variables("SAMPLES::STOCKQUOTE").Value.ToString())
        If Not IsDBNull(xmlDoc) Then
            Dim list As XmlNodeList
            list = xmlDoc.DocumentElement.GetElementsByTagName("last_trade")
            If list.Count > 0 Then
                last = list.Item(0).InnerText
                MsgBox("The last price for the stock " + Dts.Variables
                ("SAMPLES::TICKERSYMBOL").Value.ToString() + ": is " + 
                last.ToString(), MsgBoxStyle.OkOnly, 
                "Webservices Task Sample")
                Dts.TaskResult = ScriptResults.Success
            End If
        End If
    End Sub
End Class]]></ProjectItem>
          <ProjectItem
            Name="\scriptmain.designer.xml">
            <![CDATA[<hostitem:hostItem hostitem:identifier="ScriptMain" 
            hostitem:namespace="" hostitem:primaryCookie="ScriptMain" hostitem:baseType="Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTAProxy.
            VSTARTScriptObjectModelBaseEntryPoint" 
            hostitem:interfaceType=
            "Microsoft.VisualStudio.Tools.Applications.
            Runtime.IEntryPoint" hostitem:displayName="ScriptMain" 
            hostitem:generateCode="true" hostitem:startupIndex="0" 
            xmlns:hostitem=
"http://schemas.microsoft.com/2006/VisualStudio/Tools/Applications/
HostItem.xsd" />]]></ProjectItem>
          <BinaryItem
            Name="\bin\scripttask_053aaa1de6d84acab80050be0c42b6f2.vbproj.dll">
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
AgAAADUAAAAQAAAABAAAAAgAAAAJAAAACQAAAAEAAAAHAAAAAQAAAAMAAAADAAAAAgAAAAAAkwoB
AAAAAAAKAHgBTgEKAKwBjgEGALwBtQEKABQCTgEGAJICtQEKABQD6gIGAEoDOQMGAHcDYgMOAN4D
yQMSAF0ENAQGAHkEtQEGALgEtQEOAOsE1QQOAAQF1QQOADEFGQUGAFsFSAUKAJoFcwUKALIFEwAO
AOcFygUGABwG/AUGADoGtQEGAF4GtQEKAHcGEwAGALsGnAYGAOEGzwYGAAgH9wYGABsHSAUGADgH
tQESAEIHNAQWAJsHewcWALMHewcKAN4HcwUaABcIDAgaACMIDAgKAC8IcwUGAE4ItQEWAFUIewcK
AG8IEwAaAIQIDAgaALgIDAgKANoIEwAKAOYIEwAKAPMIEwAGABUJtQEeADgJKwkGAI4J/AUGAK4J
/AUGAMwJzwYGAOkJnAYGAPcJzwYGABIKzwYGAC0KzwYGAEYKzwYGAF8KzwYGAHwKzwYAAAAAAQAA
AAAAAQABAAAAAAApADcABQABAAEAAAAAAG0ANwAJAAEAAgAAARAAeAA3AA0AAQADAAUBAACCAAAA
DQAFAAgABQEAAJAAAAANAAUADwAAAAAAqwC3AA0ABgARAAABEAD3AAIBJQAIABUAAQAAADUBAgEp
AAoAGAACAQAAQAEAADEACgAcADEA1wEgADEAAAItADEAIgI6ADEARwJHACEAIwOQABEAWgOdABEA
gwOhABEA9gO/ABEA/gPDAAYGvQTgAFaAxQTjAFaAzQTjAAghAAAAAAYYiAETAAEAECEAAAAABhiI
ARMAAQAYIQAAAAARGMMBFwABAEQhAAAAABMIygEbAAEAXCEAAAAAEwjwASgAAQB0IQAAAAATCBkC
NQABAIwhAAAAABMINwJCAAEApCEAAAAARgJ9AmMAAQDAIQAAAABGAoYCaAACANQhAAAAAIMAlwJs
AAIA7CEAAAAARgKfAnEAAgAAIgAAAAARAKgCeAACABwiAAAAAAEAxgKAAAMAOCIAAAAABhiIARMA
BABAIgAAAAADCNoCiwAEAHQiAAAAAAYYiAETAAQAiCIAAAAAAxiIARMABACQIgAAAAAWCI8DpQAE
AMwiAAAAABYIowOqAAQA4CIAAAAAFgivA68ABADoIgAAAAARGMMBFwAFAPwiAAAAAAYYiAETAAUA
BCMAAAAAFggLBMYABQBgIwAAAAAGGIgBEwAFAGgjAAAAAAEAgwTZAAUAbCMAAAAAAQCfBNkABwC8
IwAAAAAGALMEEwAJAAAAAQCEAgAAAQC9AgAAAQC9AgAAAQC7AwAAAQCWBAAAAgCdBAAAAQCWBAAA
AgCdBAkAiAETAGkAiAHxAHkAiAEAAREAiAETAIEAiAETACQAiAETACwAiAETADQAiAETADwAiAET
ACQA2gKLACwA2gKLADQA2gKLADwA2gKLAIkAiAETAJEAiAETAJkAiAFOAaEAKwaZARkAfQJjABkA
hgJoACkATAamARkAnwJxALEAaAa2ARkAiAETALkAiAHGAUQAIwOQAEwACwSLAEwAkgZDAkwAiAET
AMEAiAFQAikA6gZbAjkAiAFgAkkAiAETANEAEAd8AtEAFgd8AtkAiAETAFEAiAETAFEAVAeGAukA
pQeLAvkAzQdoAPEA1wcTAAEB6geQAgEB+gcXABkBOwibAiEBiAGhAgkBiAETAPEAXginAikBCwSu
AgkBZwhOATEBewiyAgkBjwi3AjkBowi9AhEBzQdoABEBwAjEAkEBxQhxACEBnwJxACEB0wjLAkkB
/wjTAukABgneAmEBiAFQAmkBiAFOAXEBiAHeAnkBiAETAIEBiAFOAYkBiAFOAZEBiAFOAZkBiAFO
AaEBiAFOAakBiAFOAbEBiAFOAbkBiAFOAQgALADnAAgAMADsACkAgwBTAS4AEwKMAy4A6wEnAy4A
CwJVAi4AIwLfAy4AKwJVAi4AMwKnAy4AGwKnAy4A8wEwAy4A+wFPAy4AAwJcAy4A6wBVAi4A2wGG
A0AAEwD3AEAAKwDsAEMAEwD3AEMAGwAGAUkAgwCFAWMAEwD3AGMAGwAGAWkAgwBkAYAAKwDsAIMA
cwDsAIMAGwAGAYMAewDsAIkAgwBxAaAAKwDsAKMAwwDOAaMAEwD3AMAAKwDsAMMA6wBVAsMAEwD3
AMkAEwBzAuAAKwDsAOkAEwBzAgABKwDsAAABEwD3AAkBGwHsACABKwDsACABEwD3ACMB2wFVAiMB
4wHtAkABEwD3AEABKwDsAGABEwD3AGABKwDsAIABKwDsAKABKwDsAMABKwDsAMABEwD3AOABKwDs
AAACEwD3AAACKwDsADoBPwFEAUkBngGiAa0BsgHBAcEBSQJnAm4CgQKWAuMCBAABAAYABQAHAAYA
CAAIAAAArAFPAAAAZQJUAAAAFAJZAAAAcQJeAAAALQOYAAAASgO1AAAAwQO6AAAAuwPLAAIABAAD
AAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAIAEwAPAAEAFAAPAAIAFwARAHUAdQCIAB4B
JQEsATMBMAI3AgSAAAABAAAAAAAAAAAAAAAAAAIBAAACAAAAAAAAAAAAAAABAAoAAAAAAAgAAAAA
AAAAAAAAAAoAEwAAAAAAAgAAAAAAAAAAAAAAAQC1AQAAAAALAAAAAAAAAAAAAADQABUEAAAAAAsA
AAAAAAAAAAAAANAAXAcAAAAAAgAAAAAAAAAAAAAAAQAMCAAAAAADAAUAAAAAAAAAAAABACsJAAAA
AAAAAAABAAAARwkAAAUABAAGAAQACgAJAAAAEAAMALsCAAAQABkAuwIAAAAAGwC7Ai0AvAEtAD4C
AAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24A
U2NyaXB0VGFza18wNTNhYWExZGU2ZDg0YWNhYjgwMDUwYmUwYzQyYjZmMi52YnByb2ouTXkATXlD
b21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJg
MQBNeVJlc291cmNlcwBTY3JpcHRUYXNrXzA1M2FhYTFkZTZkODRhY2FiODAwNTBiZTBjNDJiNmYy
LnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBTY3JpcHRUYXNrXzA1M2FhYTFkZTZkODRh
Y2FiODAwNTBiZTBjNDJiNmYyLnZicHJvagBTY3JpcHRNYWluAFNjcmlwdFJlc3VsdHMATWljcm9z
b2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9y
AE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNj
dG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9u
AG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBn
ZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24A
V2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENy
ZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldElu
c3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRW
YWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFu
YWdlcgBfcmVzTWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJl
AGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVy
ZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1f
U3luY09iamVjdABnZXRfVmFsdWUATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNrAE1pY3Jv
c29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAVlNUQVJUU2NyaXB0T2JqZWN0TW9k
ZWxCYXNlAEV2ZW50QXJncwBTY3JpcHRNYWluX1N0YXJ0dXAAc2VuZGVyAGUAU2NyaXB0TWFpbl9T
aHV0ZG93bgBNYWluAEVudW0AdmFsdWVfXwBTdWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVu
dE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0
ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9z
dGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGls
ZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0
ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3Rl
bS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUA
UnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3Rh
bmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5J
bnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3Nl
bWJseQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVi
dWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBFeGNlcHRpb24AU2NyaXB0T2JqZWN0TW9kZWwAZ2V0
X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5E
dHMuUnVudGltZQBWYXJpYWJsZXMAZ2V0X1ZhcmlhYmxlcwBEVFNSZWFkT25seUNvbGxlY3Rpb25C
YXNlAGdldF9Db3VudABVbmxvY2sAUHJvamVjdERhdGEAU2V0UHJvamVjdEVycm9yAENsZWFyUHJv
amVjdEVycm9yAFN5c3RlbS5YbWwAWG1sRG9jdW1lbnQAWG1sTm9kZUxpc3QAQ29udmVyc2lvbnMA
VG9DaGFyQXJyYXlSYW5rT25lAFN0cmluZwBWYXJpYWJsZQBnZXRfSXRlbQBMb2FkWG1sAEluZm9y
bWF0aW9uAElzREJOdWxsAFhtbEVsZW1lbnQAZ2V0X0RvY3VtZW50RWxlbWVudABHZXRFbGVtZW50
c0J5VGFnTmFtZQBYbWxOb2RlAEl0ZW0AZ2V0X0lubmVyVGV4dABDb25jYXQASW50ZXJhY3Rpb24A
TXNnQm94UmVzdWx0AE1zZ0JveFN0eWxlAE1zZ0JveABzZXRfVGFza1Jlc3VsdABDTFNDb21wbGlh
bnRBdHRyaWJ1dGUAU3lzdGVtLkFkZEluAEFkZEluQXR0cmlidXRlAFNjcmlwdFRhc2tfMDUzYWFh
MWRlNmQ4NGFjYWI4MDA1MGJlMGM0MmI2ZjIudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29t
cGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0
ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFk
ZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0
QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0
cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUAU2NyaXB0VGFza18wNTNhYWExZGU2ZDg0YWNh
YjgwMDUwYmUwYzQyYjZmMi52YnByb2ouZGxsAAAAADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAu
AE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAAAQAnUwBBAE0AUABMAEUAUwA6ADoAUwBUAE8AQwBLAFEA
VQBPAFQARQAAFWwAYQBzAHQAXwB0AHIAYQBkAGUAADtUAGgAZQAgAGwAYQBzAHQAIABwAHIAaQBj
AGUAIABmAG8AcgAgAHQAaABlACAAcwB0AG8AYwBrACAAACtTAEEATQBQAEwARQBTADoAOgBUAEkA
QwBLAEUAUgBTAFkATQBCAE8ATAAACzoAIABpAHMAIAAAL1cAZQBiAHMAZQByAHYAaQBjAGUAcwAg
AFQAYQBzAGsAIABTAGEAbQBwAGwAZQAAAH8MXJEm2tZGo6gZr0anGCwACLd6XFYZNOCJCLA/X38R
1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcG
FRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcw
AQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0E
CAASIQMGEiACBhwEAAASIAQIABIgCImEXc2AgMyRBiACARwSLQIGCAMGESgEAAAAAAQBAAAABSAB
ARE5CAEAAQAAAAAABSACAQ4OFwEACk15VGVtcGxhdGUHOC4wLjAuMAAABhUSGAESDAYVEhgBEggG
FRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUBCABAQ4QAQALTXkuQ29tcHV0ZXIAAAwB
AAdNeS5Vc2VyAAATAQAOTXkuV2ViU2VydmljZXMAABMBAA5NeS5BcHBsaWNhdGlvbgAABAABHBwD
BwECAwcBCAYAARIVEVUEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVt
LldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0lu
c3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAG
BwITABMABCABAQIFAQAAAAAEIAASZQYgAgEOEmUGBwISHRIdBAcBEiEIAQACAAAAAAAEAAEBHAQH
ARIgBCAAEnUEIAASeQUAAQEScQQHARJxBQABHQMOBSABAR0DBiABEoCVHAMgABwEAAECHAUgABKA
nQYgARKAiQ4GIAESgKEIBwAEDg4ODg4KAAMRgKkcEYCtHAQgAQEICQcDDhKAhRKAiTkBAApTY3Jp
cHRNYWluAwBUDgdWZXJzaW9uAzEuMFQOCVB1Ymxpc2hlcgBUDgtEZXNjcmlwdGlvbgAIAQAIAAAA
AAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBDAEABzEuMC4wLjAAACkBACRlNTQ5MzFm
Ny1lODE3LTQzMTQtYTQwOS0zY2RjOTcwMjkyOGEAAAUBAAEAABoBABVDb3B5cmlnaHQgQCBNU0lU
IDIwMDgAADcBADJTY3JpcHRUYXNrXzA1M2FhYTFkZTZkODRhY2FiODAwNTBiZTBjNDJiNmYyLnZi
cHJvagAACQEABE1TSVQAAAAAAKA9AAAAAAAAAAAAAL49AAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACwPQAAAAAAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUAIEAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMA
AwAAACgAAIAOAAAASAAAgBAAAABgAACAAAAAAAAAAAAAAAAAAAACAAIAAAB4AACAAwAAAJAAAIAA
AAAAAAAAAAAAAAAAAAEAAH8AAKgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAAMAAAIAAAAAAAAAAAAAA
AAAAAAEAAAAAANgAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAOgAAAAAAAAAAAAAAAAAAAAAAAEAAAAA
APgAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAgBAABQRQAA6AIAAAAAAAAAAAAAOEgAACgBAAAAAAAA
AAAAAGBJAAAiAAAAAAAAAAAAAAAYQQAANAQAAAAAAAAAAAAANAQ0AAAAVgBTAF8AVgBFAFIAUwBJ
AE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAABAAAAAAAAAAEAAAAAAD8AAAAAAAAABAAAAAIA
AAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBh
AG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBJQDAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYA
bwAAAHADAAABADAAMAAwADAAMAA0AGIAMAAAACwABQABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAA
AAAATQBTAEkAVAAAAAAAkAAzAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMA
YwByAGkAcAB0AFQAYQBzAGsAXwAwADUAMwBhAGEAYQAxAGQAZQA2AGQAOAA0AGEAYwBhAGIAOAAw
ADAANQAwAGIAZQAwAGMANAAyAGIANgBmADIALgB2AGIAcAByAG8AagAAAAAAMAAIAAEARgBpAGwA
ZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAkAA3AAEASQBuAHQAZQByAG4AYQBs
AE4AYQBtAGUAAABTAGMAcgBpAHAAdABUAGEAcwBrAF8AMAA1ADMAYQBhAGEAMQBkAGUANgBkADgA
NABhAGMAYQBiADgAMAAwADUAMABiAGUAMABjADQAMgBiADYAZgAyAC4AdgBiAHAAcgBvAGoALgBk
AGwAbAAAAAAAUAAWAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkA
ZwBoAHQAIABAACAATQBTAEkAVAAgADIAMAAwADgAAACYADcAAQBPAHIAaQBnAGkAbgBhAGwARgBp
AGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADAANQAzAGEAYQBhADEAZABlADYA
ZAA4ADQAYQBjAGEAYgA4ADAAMAA1ADAAYgBlADAAYwA0ADIAYgA2AGYAMgAuAHYAYgBwAHIAbwBq
AC4AZABsAGwAAAAAAIgAMwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBjAHIAaQBwAHQA
VABhAHMAawBfADAANQAzAGEAYQBhADEAZABlADYAZAA4ADQAYQBjAGEAYgA4ADAAMAA1ADAAYgBl
ADAAYwA0ADIAYgA2AGYAMgAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYA
ZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBl
AHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAKAAAACAAAABAAAAAAQAEAAAAAACAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA
/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHd3d3d3d3d3d3d3d3d3cARERERERERERERE
RERERHAE//////////////////RwBP/////////////////0cAT/////////////////9HAE////
//////////////RwBP/////////////////0cAT/////////////////9HAE////////////////
//RwBP/////////////////0cAT/////////////////9HAE//////////////////RwBP//////
///////////0cAT/////////////////9HAE//////////////////RwBP/////////////////0
cAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/////////
////////9HAEiIiIiIiIiIiIiIiIiIRwBEREREREREREREREREREcARMTExMTExMTExOzs5JdHAE
zMzMzMzMzMzMzMzMzMQAAERERERERERERERERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////////////AAAABgAAAAYAAAAGAAAABgAAA
AYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB
gAAAAYAAAAGAAAABgAAAAYAAAAPAAAAH////////////////KAAAABAAAAAgAAAAAQAEAAAAAADA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAd3d3d3d3d3REREREREREdP///////4
R0////////hHT///////+EdP///////4R0////////hHT///////+EdP///////4R0////////hH
SIiIiIiIiEdMzMzMzMzMR8RERERERETAAAAAAAAAAAAAAAAAAAAAAP//AACAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA//8AAP//AAAAAAEAAgAgIBAA
AQAEAOgCAAACABAQEAABAAQAKAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAwAAADQPQAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</BinaryItem>
        </ScriptProject>
      </DTS:ObjectData>
    </DTS:Executable>
  </DTS:Executables>
  <DTS:PrecedenceConstraints>
    <DTS:PrecedenceConstraint
      DTS:refId="Package.PrecedenceConstraints[Constraint 1]"
      DTS:CreationName=""
      DTS:DTSID="{F2196320-9345-4773-9EBD-06F12CDDFB06}"
      DTS:From="Package\Get Stock Quote"
      DTS:LogicalAnd="True"
      DTS:ObjectName="Constraint 1"
      DTS:To="Package\Show Stock Price" />
  </DTS:PrecedenceConstraints>
  <DTS:DesignTimeProperties><![CDATA[<?xml version="1.0"?>
<!--This CDATA section contains the layout information of the package. 
The section includes information such as (x,y) coordinates, width, 
and height.-->
<!--If you manually edit this section and make a mistake, you can 
delete it. -->
<!--The package will still be able to load normally but the previous 
layout information will be lost and the designer will automatically 
re-arrange the elements on the design surface.-->
<Objects
  Version="sql11">
  <!--Each node below will contain properties that do not affect 
  runtime behavior.-->
  <Package
    design-time-name="Package">
    <LayoutInfo>
      <GraphLayout
        Capacity="4" xmlns="clr-namespace:Microsoft.SqlServer.
        IntegrationServices.Designer.Model.
        Serialization;assembly=Microsoft.SqlServer.IntegrationServices.Graph" 
        xmlns:mssgle="clr-namespace:Microsoft.SqlServer.Graph.LayoutEngine;
        assembly=Microsoft.SqlServer.Graph" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <NodeLayout
          Size="183.735849056604,43.9245283018868"
          Id="Package\Get Stock Quote"
          TopLeft="5.5,5.5" />
        <NodeLayout
          Size="135.773584905661,43.9245283018868"
          Id="Package\Show Stock Price"
          TopLeft="29.4622641509434,96.2547169811321" />
        <EdgeLayout
          Id="Package.PrecedenceConstraints[Constraint 1]"
          TopLeft="97.3490566037736,49.4245283018868">
          <EdgeLayout.Curve>
            <mssgle:Curve
              StartConnector="{x:Null}"
              EndConnector="0,46.8301886792453"
              Start="0,0"
              End="0,39.3301886792453">
              <mssgle:Curve.Segments>
                <mssgle:SegmentCollection
                  Capacity="5">
                  <mssgle:LineSegment
                    End="0,39.3301886792453" />
                </mssgle:SegmentCollection>
              </mssgle:Curve.Segments>
            </mssgle:Curve>
          </EdgeLayout.Curve>
          <EdgeLayout.Labels>
            <EdgeLabelCollection />
          </EdgeLayout.Labels>
        </EdgeLayout>
      </GraphLayout>
    </LayoutInfo>
  </Package>
</Objects>]]></DTS:DesignTimeProperties>
</DTS:Executable>