Why Does The Web Service Task Require A Local WSDL File?
Oct 19, 2007
Have an SSIS package with a Web Service Task, downloaded the WSDL to a local file, all is well until we try to deploy the package to another machine at which point the package expects to find the WSDL in the same place.
Am I not understanding something? Yes I can make it work, BUT:
1. Couldn't the task just get the WSDL from the web service each time, instead of from a static file? Isn't that the idea? Latest and greatest...
2. Having packages dependent on files is extremely inconvenient in a production environment. Security issues abound, things are in different places on different servers. How are folks handling this? The Web Service Task is certainly not the only place in SSIS where a package can be dependent on a file system location.
Whilst working with SSRS within SSIS I came accross an issue when trying to create a Web Service Task using the SSRS Web Service. After pointing the task to the WSDL file when I tried to access the Methods of the web service I would get the '....WSDL is not supported.' error. I also noticed that selecting the Download WSDL button would throw up and error as well.
After a bit bit of playing around I found the following solution to the problem.
Make a copy of the ReportingServices.wsdl file and make sure it is not marked as Read-Only. Point the Web Service Task editor to this new copy of the WSDL file Set the OverwriteWSDLFile option in the Web Service Task editor to True.
You should then be able to access the details of the WSDL file and the methods of the web service. I am not sure if this issue is by design but hope that this information will help others who came across the same issue?
I am finding that in order to have the Web Services Task work successfully the location of the WSDL file has to be on a local drive that SSIS is executing upon. Is the current intended behavior?
In my SSIS task I use a URL path to store information extracted from the Web Service. The information is stored on a different server than the one that SSIS is running upon. This works properly without error.
I have confirmed that SSIS has appropriate permissions to read/write to that directory on that server. When I attempt to reference the WSDL file (located in the same URL directory that I am saving the information) I get a web services error, 'The Web Services Name is empty, Verify that a valid web service name is available."
When I update the Web Service Task attribute to point to the WSDL file located on a local drive it works correctly. I have confirmed that both WSDL documents are exactly the same.
The behavior seems a little strange...so I must be missing something subtle.
I am trying to prove I can use SSIS to connect to a web service. The WS I am trying to connect to was developed by a vendor and covered by a NDA, but I was able to reproduce the issue with a public WS.
Here are the steps to reproduce the issue:
In the Web Services Connection Manager, I entered http://office.microsoft.com/Research/Providers/MoneyCentral.asmx?wsdl in the URL window. I am able to successfully "test" the connection I pasted the above link into IE and saved the resulting XML as a .wsdl file on my local machine. In the Web Services Task Editor, General Tab, I specify the path to the .wsdl file and click on "Download WSDL" button. No Issues When I click on "Input" and select "MoneyCentralRemote" from the drop-down for Service, I receive an error message saying "This version of the Web Services Description Language (WSDL) is not supported"
So the questions are:
Did I perform the above steps correctly? What WSDL versions are supported in SSIS? How can I tell what WSDL version was used to create the .wsdl I am trying to access? If the WSDL is an unsupported version, is there a work-around to fix the issue?
In my script task I have the following code. The task I'm trying to accomplish is: If the filename on FTP can be found in the local archive folder of e: drive then show message "FileAlreadyThere" (I will ultimatley change it to do nothing); if the filename on FTP cannot be found in the local archive folder of e: drive then transfer the file to the local package folder on d: drive.
While the script task is executing I was watching it closely, but the problem i saw is that: If some files on FTP are already in local archive folder and some are not, then it the files which are already in the archive folder are dumped to the package folder; then after that the files which are not in the archive folder are then dumped to the package folder. But I only want the new files on FTP to be transferred to the package folder for further processing.
Then after this is finished, I saw all the files in the package folder are refreshed one after another, after the first round of refresh the second round starts, after the second round finishes it then stopped. I saw it refreshes itself because the 'Date Modified' of the file changes. And I saw the script task turned green.
I don't see how the code below produced this result. Something is wrong in the logic of the loop? Anyone has any idea why it's behaving the way it is now? And how to change the code to accomplish what I want? Thanks a lot!!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Imports System Imports System.IO Imports System.Data Imports System.Math Imports Microsoft.SqlServer.Dts.Runtime Public Class ScriptMain Public Sub Main() Dim cm As ConnectionManager = Dts.Connections.Add("FTP") cm.Properties("ServerName").SetValue(cm, "ftp2.name.com") cm.Properties("ServerUserName").SetValue(cm, "username") cm.Properties("ServerPassword").SetValue(cm, "password") cm.Properties("ServerPort").SetValue(cm, "21") cm.Properties("Timeout").SetValue(cm, "0") cm.Properties("ChunkSize").SetValue(cm, "1000") '1000 kb cm.Properties("Retries").SetValue(cm, "1") Dim ftp As FtpClientConnection = New FtpClientConnection(cm.AcquireConnection(Nothing)) ftp.Connect() ftp.SetWorkingDirectory("/directory") Dim fileNames() As String Dim folderNames() As String ftp.GetListing(folderNames, fileNames) If fileNames Is Nothing Then MsgBox("NoFileOnFTP") Else Dim fileName As String For Each fileName In fileNames If File.Exists("c: emp" + fileName) Then MsgBox("FileAlreadyThere") Else ftp.ReceiveFiles(fileNames, "c: emp", True, True) End If Next End If
I setup SQL Server 2012 on Windows Server 2012 with the service accounts in the local Administrator group, but now that I'd like to remove the accounts from this group I'm finding they don't have the appropriate access to the network storage. notes on setting the per-service SID's for SQL (SQL Engine, Analysis Services, Reporting Services, and Agent Service) so they can read the Data, Log, and TempDB mount points?
I have been trying to setup a web service task to use my http connection manager that connects to a server url. What I want to do is to upload a file to a web server... can this be done using web service task? and what is the WSDL? and what happens when my target server usis SSL? so instead of http, it should use https? I need help with this one... can't quite imagine how to get things rolling..
I have a table which have several fields. I have a field that is made required by mistake. I would like to change this field to not require. Can someone help with the syntax?
With the new improvments to the web service task, we can now use variables as arguments in web service calls. I am trying to setup a call to the amazon web service ECS. I am trying to do a simple sellerlookup. I have played with the settings and gotten nowhere. I get one of two error when I try to execute. I can always use a scripting task or write my own task, but I would like to use the built in task if it is possible. Has anyone used AWS with SSIS?
[Web Service Task] Error: An error occurred with the following error message: "Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: Could not execute the Web method. The error is: Object reference not set to an instance of an object.. at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebMethodInvokerProxy.InvokeMethod(DTSWebMethodInfo methodInfo, String serviceName, Object connection) at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTaskUtil.Invoke(DTSWebMethodInfo methodInfo, String serviceName, Object connection, VariableDispenser taskVariableDispenser) at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()".
or
[Web Service Task] Error: An error occurred with the following error message: "Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebserviceTaskException: Could not execute the Web method. The error is: Method 'ProxyNamespace.AWSECommerceService.SellerLookup' not found.. at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebMethodInvokerProxy.InvokeMethod(DTSWebMethodInfo methodInfo, String serviceName, Object connection) at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTaskUtil.Invoke(DTSWebMethodInfo methodInfo, String serviceName, Object connection, VariableDispenser taskVariableDispenser) at Microsoft.SqlServer.Dts.Tasks.WebServiceTask.WebServiceTask.executeThread()".
A very stupid question but want to see if i have an answer.
Is it possible to run SQL Server Service and SQL Server Agent Service under local system(not Domain account) without granting SA Permissions on the server. is it ever possible to run by just granting some registry permissions and not making BUILTINAdministrators a SA on the server.
Hello there,This is a bit of strange one.My local version of SQL Server fails to start when I boot yet if Istart Enterprise Manager its started and working fine. ISQL or QueryAnalyzer is also not working.If I try and register the server by another SQL Server is not there. Methinks that the named pipes might be a bit broken but would appreciateany advise from people.ThanksGinters
It is simple question, just slipped out of my mind at this time...... how do we change Security Context for 2005 version from network to local system. thanks,
I'm trying to do an unattended install of SQL Express 2005 SP2, and specify that the service runs under the Local Service account. Prior versions of SQL Express worked fine.
With SQL Express 2005 SP2, however, the install fails on XP Pro SP2. It *does* work on Winows 2003 Server.
It fails at the end of the install, saying it can't start the service. If I use "NETWORK SERVICE", it works fine, but that's more privileges than I want the service to have. Is there something else on the command line that I can try to get it to work?
Hi all,After merged two partitions into one (C: and D: into one C:) byusing Partition Magic, I can't start SQL Server 2000 which waspreviously installed in both C:Program FilesMicrosoft SQL Server80and D:Program FilesMicrosoft SQL ServerMSSQLThe original files in D: (every thing in D: actually) are now copyedin C:Data folder.Other than re-install SQL Server in C:, is it possible to restoredata(files) from D:Data ?Mank thanks to any suggestions/hints.Kind Regards,Bob
We have defined a local administrator to be the SQL Server and SQL Server Agent services user, and is also the job step owner for some SSIS packages I am running.
My question is, isn't by default a local administrator ALSO granted sysadmin in SQL Server? According to this link, it seems to imply this:
However, I am having some permissions problems with the local adminstrator account (i.e. SQL Server agent account) when it runs the job. The error is that it doesn't have execute permissions on sp_dts_addlogentry.
Hi, I'm developing a website using VWD 2005 Express, which needs a Membership system and a products database. Using the VWD inherent Web Site Administration tool makes the membership set up easy but by default it creates a 'Local' SQL database in a folder named 'Apps_Data' in the VWD project. My question is: considering I will need to upload my web site to a Hosting Service, would it be better to change the default so that the membership systems, and the product database I need, are created in an SQL 'Server' database instead of a 'Local' database? The hosting service I am considering using is having a bit of a problem understanding this question, I hope it makes sense to someone or am I asking a stupid question? Regards Sean.
I am doing an unattended upgrade of Sql Express with Advanced Services SP1. Before the upgrade the services run under domain accounts. I use the following command :
However after the ugrade the service accounts are running under local system.
Documentation is unclear, i find the following:
; The services for SQL Server and Analysis Server are set auto start. To use the *ACCOUNT settings ; make sure to specify the DOMAIN, e.g. SQLACCOUNT=DOMAINNAMEACCOUNT ; NOTE: When installing SQL_Engine 3 accounts are REQUIRED: SQLACCOUNT, AGTACCOUNT and SQLBROWSERACCOUNT. ; SQLACCOUNT Examples: ; SQLACCOUNT=<domainuser> ; SQLACCOUNT="NT AUTHORITYSYSTEM" ; SQLACCOUNT="NT AUTHORITYNETWORK SERVICE" ; SQLACCOUNT="NT AUTHORITYLOCAL SERVICE"
To my knowledge the <> is not required. Can someone please help as i cannot get the services accounts to run under a domain user after upgrade.
Help, Had configuration error trying to set up reporting services. Uninstalled SQL Server and Reinstalled, but not all files were removed. How many files and directories do I have to remove to get Reporting Services to work?
Thanks! Terry<Header> <Product>Microsoft SQL Server Reporting Services Version 9.00.1399.00</Product> <Locale>en-US</Locale> <TimeZone>Central Standard Time</TimeZone> <Path>C:Program FilesMicrosoft SQL ServerMSSQL.3Reporting ServicesLogFilesReportServerService__main_01_31_2008_16_16_12.log</Path> <SystemName>JPADESKTOP1</SystemName> <OSName>Microsoft Windows NT 5.1.2600 Service Pack 2</OSName> <OSVersion>5.1.2600.131072</OSVersion> </Header> ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing ConnectionType to '0' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing IsSchedulingService to 'True' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing IsNotificationService to 'True' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing IsEventService to 'True' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing PollingInterval to '10' second(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing WindowsServiceUseFileShareStorage to 'False' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing MemoryLimit to '60' percent as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing RecycleTime to '720' minute(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing MaximumMemoryLimit to '80' percent as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing MaxAppDomainUnloadTime to '30' minute(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing MaxQueueThreads to '0' thread(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing IsWebServiceEnabled to 'True' as specified in Configuration file. ReportingServicesService!configmanager!4!1/31/2008-16:16:12:: w WARN: WebServiceAccount is not specified in the config file. Using default: JPADESKTOP1ASPNET ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing MaxActiveReqForOneUser to '20' requests(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing MaxScheduleWait to '5' second(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing DatabaseQueryTimeout to '120' second(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing ProcessRecycleOptions to '0' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing RunningRequestsScavengerCycle to '60' second(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing RunningRequestsDbCycle to '60' second(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing RunningRequestsAge to '30' second(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing CleanupCycleMinutes to '10' minute(s) as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing DailyCleanupMinuteOfDay to default value of '120' minutes since midnight because it was not specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing WatsonFlags to '1064' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing WatsonDumpOnExceptions to 'Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException,Microsoft.ReportingServices.Modeling.InternalModelingException' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing WatsonDumpExcludeIfContainsExceptions to 'System.Data.SqlClient.SqlException,System.Threading.ThreadAbortException' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing SecureConnectionLevel to '0' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing DisplayErrorLink to 'True' as specified in Configuration file. ReportingServicesService!library!4!1/31/2008-16:16:12:: i INFO: Initializing WebServiceUseFileShareStorage to 'False' as specified in Configuration file. ReportingServicesService!servicecontroller!9!1/31/2008-16:16:13:: Total Physical memory: 1055309824
1Is it possible to choose local user,(instead of local system) in sql setup service login and then use mixed mode default configuration in report server or choose configure server later. I will be using a third party host using vista, unfortunately I do not have my own server ( I do not have a domain yet) vista sql 2005 standard vs 2008. ultimate 2 What is the best configuration for a new aspiring asp.net ssrs developer. 3 Do I need to configure the server if I choose local user? 4. what is the best way to configure sql?
By the way what items should I look forward in choosing a web host,(who is willing to give alot of help to developers) my interests include ssrs 2008 sql 2008 sql 2005 asp.net mvc, crystal reports, wcf infragistics. I am really interested in showing examples in sql reporting services, crystal reports wcf , web services , infragistics asp.net mvc intrigues me....... I would like to get on a track to eventually use sharepoint services Thanks again, I know I ask I alot of questions........
In the Control flow tab, I have an Execute SQL Task that outputs full Result set into a variable of an object type. Now how can I write the contents of the Full Result Set into a text file using Script Task. I also want to format the following way while I output into a file:
Column Name 1 : Column Value
Column Name 2: Column Value and so on
I tried writing the contents of the Object Variable into a file, but the file had an output of single word: System.__ComObject.
Code for Writing the Full Result Set into a Text File
Dim RSsqloutput as String = Dts.Variables("objVariable").Value.ToString
Dim strVal as String = "File completed on " & Now() & vbCrLf & "------------------------------------------------------" & vbCrLf
When i type http://localhost/sql/provideinfo?wsdl into internet explorer, i just get a 404 page cannot be found error.
When i type http://server/sql/provideinfo?wsdl in to the browser i get a Page cannot be displayd error.
I get the same when i type http://myServerName/sql/provideinfo?wsdl
I get the same when i type http://sitename/sql/provideinfo?wsdl
Sql server is running under an account with admin access to the box and sa access to the sql server. what am i doing wrong here that i cannot view my wsdl. oh, the OS is vista.
Could it be a configuration issue that im not seeing?
I've used SQLXML to generate WSDL from a sample stored procedure that returns customerID and contactName from the 'northwind' database based on a runtime-supplied parameter.
However, the generated WSDL doesn't explicitly name the two columns (customerID and contactName) that the procedure returns. I've tried all of the possible combinations of 'row formatting; and 'output as' when configuring the virtual name. Instead, I get the following:
To parse the results, I would have to cast the information correctly, which requires some hard-coding. Does anyone have any suggestions on how to force the WSDL file to correctly list out the individual elements in the result set?
I am testing using Web Services from SQL Server 2005 and am having problems with IE Authentication when I try to retreive the WSDL.
The basic scenario is:
I create the Web Service and initially can view the WSDL using Http:ServernamePath?wsdl and also can consume the Web Service in a DotNet app. However after a period of 2 hours or more the the WSDl starts asking for authentication but I cannot determine what authentication or rights are required
In an earlier post http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1175161&SiteID=1 Jimmy Wu mentions "IE prompted me for my user credentials and after entering the information I was able to retrieve the WSDL doc".
What are the user credentials required and how do you set permissions to avoid these. This forum post is the only place I have seen where any mention is made of some additional credentials being needed.
create endpoint epMaps state = started as http ( path = '/Maps', authentication = (integrated), ports = (clear), site = 'ServerName' ) for soap ( webmethod 'GetEnabledMaps' (Name= 'DBName.dbo.spSelMapPackagesEnabled'), batches = disabled, wsdl = default, database = 'DBName', namespace = 'http://ServerName/' )
GO
When I attempt to pull the web service up (http://ServerName/Maps?wsdl 1)I am prompted for my windows credentials and 2) after I put my credentials in a blank page loads.
HI, I need to trigger some packages upon existance of specific files in a particular directory. Sound lkike the file watcher task (from SQLIS) would do the job but I am wondering what is the difference of using this tool instead of a for each loop container. I mean, If a file exists in a directory, the for each loop container will detect it. Since the file watcher is not a service, the package containing it needs to ne scheduled on a regular basis for the filewatcher to detect the file, right? So, a for each loop container would do the job? So, waht wouldbe the advantage of using the file watcher task?
A common issue that I run across with clients is they want only want to process a file if it's finished transmitting to the server. This SQL Server 2005 task reads the properties of a file and writes the values to a series of variables. For example, you can use this task to determine if the file is in use (still be uploaded or written to) and then conditionally run the Data Flow task to load the file if it's not being used. You can also use it to determine when the file was created in order to determine if it must be archived.
We're trying to use the WebServiceTask to retrieve a report from the SQL Server Reporting Services (SSRS) web service but getting a "This version of the Web Services Description Language (wsdl) is not supported." error after selecting the Service on the inputs tab. Some additional information...
- I can get other web services to work just fine.
- the SSRS web service works fine as I can download the wsdl in the task window, and we have successfully worked around this issue by creating a proxy class in .NET code and called it through the ScriptTask to get the results we need.
- I'm pretty certain the SSRS server is the 2005 version but can't confirm this.
So the problem seems to be just that SSIS can't read the wsdl created by SSRS.
As said we've worked around the problem successfully but would prefer to use the built in functionality, which should work especially to SSRS. Any help, advice would be greatly appreciated!
I am an ETL Developer.Very new to web service task.I created a package where I am using For loop Container.Within the container I used Execute SQL Task (retrieve a single row using store proc).Output of the Execute SQL Task is passed to webservice task.The output of Web service task is a XML data which is used in the data flow task and transfer the xml output to flat file destination.The package works fine for a batch of hundred rows. But for a batch of 10,000 rows at a stretch the performance is very poor. The webservice can take only one input at a time. Is there any other method other than web service task to solve this problem?
I am a using a web service task inside a package. I configured the url and also got the wsdl file into my local envirioment and mapped the path of the WSDL file into the package. The Test connection for the site also succeeded. The problem I am facing is as follows.
When I go to the input tab there the service name automatically comes up allright but in the Method when I use the drop down I do not see any of the functions that are listed. Am I doing something wrong? Please do advice. It is very very urgent.
I tried to use an Web Service from SSIS (Web Service Task), this Web Service returns arrays of int and an array of a data contract. It always returns the following error msg while selection the method after downloading the WSDL-file:
Item has already been added. Key in dictionary: 'Arrayofint' Key being added: 'Arrayofint'.
When I remove the arrays and just use an data contract as return parameter. SSIS-project also returns the same error message, but not with Arrayofint, instead it has the name of data contract. If I implement the same webservice with ASP.Net everything works fine.
Is there a solution to this problem besides of using ASP.Net or a stored procedure in SQL Server, which implements the web service access? Or has anyone has integrated a WCF web service with data contract?
Comment 06/12/16 (UH): Stored Procedures doesn't work either, since the assemblies from WCF can't be added to SQL Server.
I am using PHP5 and SSRS 2005 to execute a report via ReportExecution2005.asmx?wsdl (using PHP's SOAP functions). I keep getting the error:
"Microsoft.ReportingServices.Diagnostics.Utilities.MissingSessionIdException: The session identifier is missing. A session identifier is required for this operation."
I know what the SessionID after successfully calling the LoadReport method (ExecutionID in the ExecutionHeader) but cannot seem to pass this along to the Render method. Does anyone know how to pass that along?
This is similiar in issue to the post at http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2643092&SiteID=17 but for PHP instead of Java.