Load a SSIS package via Web Service: The package failed to load due to error 0xC0011008 "Error loading from XML.WHAT IS THAT?

Hello,

I have a big problem and i'm not able to find any hint on the Network.

I have a window2000 pc, VS2005,II5 and SQLServer 2005(dev edition)

I created an SSIS Package (query to DB and the result is loaded into an Excel file) that works fine.

I imported the dtsx file inside my "Stored Packages".

I would like to load and run the package programmatically on a Remote Scenario using the web services.

I created a solution with web service and web page that invoke the web service.

When my code execute:
Microsoft.SqlServer.Dts.Runtime.Application.LoadFromDtsServer(packagePath, ".", Nothing)

I got the Error:
Microsoft.SqlServer.Dts.Runtime.DtsRuntimeException: The package failed to load due to error 0xC0011008 "Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.". This occurs when CPackage::LoadFromXML fails.

The error message doesn't help so much and there is nothing on the www to give me and advice....

Is it a SSIS problem

Thank you for any help!!

Marina B.



Answer this question

Load a SSIS package via Web Service: The package failed to load due to error 0xC0011008 "Error loading from XML.WHAT IS THAT?

  • levin

    Hi,

    I've the same probleme. Did you solve it Please could you tell me how

    Thanks

    Romain


  • Tom De Cort

    As the error message says, you have not supplied an Events object, this will give you information. Implement IDTSEvents so that you can capture the more detailed error events. I would always do this on all of the methods that accept it, it saves so much time when things go wrong, for just a bit more effort up-front.

  • MadsNissen

    Could you post the imports section of your webservice code It almost seems as if your webservice didn't import the appropriate DTS classes.

  • timlajaunie

    Hi,

    thank you for the reply and I hope that I'm giving you all the Info that you need.
    This is my last try that use the try to load and run the dtsx package that is the physical file created with through a BI Project.

    Web Site: (of course the web site has the web reference to the web service!!)

    Partial Class _Default
    Inherits System.Web.UI.Page
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Me.Label1.Text = Me.TextBox1.Text
    Try
    Dim ss As New LaunchSSISPackage.LaunchSSISPackage
    ss.Credentials = System.Net.CredentialCache.DefaultCredentials
    Dim ee As Integer = ss.LaunchPackage("file", "physicalpathofthedtsxfileonmymachine", "PackageTestMarina", "SSISServerName")
    Catch ex As Exception
    Response.Write(ex.ToString)
    End Try
    End Sub

    End Class

    Web Service:
    Imports System.Web
    Imports System.Web.Services
    Imports System.Web.Services.Protocols
    Imports Microsoft.SqlServer.Dts.Runtime
    Imports System.io

    <WebService(Namespace:="http://marina.corp.org/")> _
    <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
    <
    Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _

    Public Class LaunchSSISPackage :Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function LaunchPackage( ByVal sourceType As String, ByVal sourceLocation As String, ByVal packageName As String, ByVal serverName As String) As Integer 'DTSExecResult

    Dim ss As System.Security.Principal.IPrincipal = Me.User
    Dim packagePath As String
    Dim myPackage As Package
    Dim integrationServices As New Application
    ' Combine path and filename.
    packagePath = Path.Combine(sourceLocation, packageName)
    Select Case sourceType
    Case "file"
    ' Package is stored as a file.
    ' Add extension if not present.
    If String.IsNullOrEmpty(Path.GetExtension(packagePath)) Then
    packagePath = String.Concat(packagePath, ".dtsx")
    End If

    If File.Exists(packagePath) Then
    myPackage = integrationServices.LoadPackage(packagePath, Nothing)
    Else

    Throw New ApplicationException( "Invalid file location: " & packagePath)

    End If

    Case "dts"
    Dim pEvent As Microsoft.SqlServer.Dts.Runtime.IDTSEvents = Nothing

    Try
    ' Package is managed by SSIS Package Store.
    ' Default logical paths are File System and MSDB.
    If integrationServices.ExistsOnDtsServer(packagePath, ".") Then
    myPackage = integrationServices.LoadFromDtsServer(packagePath, ".", pEvent)
    Else
    Throw New ApplicationException( "Invalid package name or location: " & packagePath)
    End If

    Catch ex As Exception

    Throw

    End Try

    Case Else

    Throw New ApplicationException( "Invalid sourceType argument: valid values are 'file', 'sql', and 'dts'.")

    End Select

    Return myPackage.Execute()
    End Function
    End
    Class

    As you will notice the code is almost a copy of the code provided my the MSDN "How to" for SSIS.
    As I said the exception is Throwed the is executed the statement:
    myPackage = integrationServices.LoadPackage(packagePath, Nothing)

    My suspect is related to the some authorization/authentication issue but where IIS ASP.NET Process SSIS service File System
    I hope that you have all the info you need!
    Thank you very much

    Marina B.


  • twisterjosh

    I have also the suspect that this error is caused by some authorization problem but I'm not able to understand at which level ..

    anyway ... could you please tell me where to find the setting:
    ..package logging option to Log provider for Event Log..
    that you mention

    Is a BI setting or a SSIS inside SQL Server 2005 setting
    Thankx
    Marina B.


  • corndish

    Hi Marina,

    I had nearly the same problem. In my case, "error loading from xml" was caused by setting the package logging option to Log provider for Event Log. It seems to me like an authorization issue with the webservice user account.



  • Chico

    There are similarly named objects within the Microsoft.SqlServer.Dts.Runtime.Wrapper namespace, do not use this unless you really have to, and always use the Microsoft.SqlServer.Dts.Runtime in preference when there is a conflict.

    I don't know what object you have, as neither of the two methods you mention are documented. Check the full namespace of the object.



  • DarrenK

    Are there two different versions of the DTS Application Class I'm using VS2005 and my application class does NOT have a method called "Loadfromdtsserver" as Microsofts page says it does. I only have 2 methods - getpackagerepository and getpackagesqlserver. What am I doing wrong


  • Jeff Levinson

    waynehans wrote:
    Are there two different versions of the DTS Application Class I'm using VS2005 and my application class does NOT have a method called "Loadfromdtsserver" as Microsofts page says it does. I only have 2 methods - getpackagerepository and getpackagesqlserver. What am I doing wrong



    Do you have SQL Server 2005 installed Seems as though you don't. You'll need to install SQL Server 2005 Standard, Developer, or Enterprise edition on this machine in order to get the SSIS runtime.


  • agarwaga

    Hi Marina,

    I have a working web service and SSIS combination that i have been working on. Initially i had a huge amount of problems regarding permissions and authorization.

    From what i've experienced, the package is run under the account used to run the web service. In my case i created a new application pool within IIS 6 and set up a domain account with rights to the SQL database and to the file system object that my SSIS package uses. My package was however stored on the SQL server so i don't know how much of a difference this will make.

    I suppose my first question is what account is the web service running under and does this have access to the directory where the SSIS package is saved

    Thanks,

    Grant

  • Load a SSIS package via Web Service: The package failed to load due to error 0xC0011008 "Error loading from XML.WHAT IS THAT?