How to fix Invalid Web Services Description Input File (WSDL) error? "

I had a problem deploying a DTSX file to a production server.

In the DTSX file, I use WebService through the Web Service Task , WebService requests the WSDL file, which it should download from the local path.

There is no problem in my machine, but it will never be on a production server.

I think it is unacceptable to ask my client to get permission to enter his production server and create a folder to store this wsdl file. Also, what happens when wsdl changes? I will have to deploy my dtsx package again and also replace the wsdl file on the server. Therefore, I think this is not an option.

So my question is:

Is there a possible way to avoid a physical file using the wsdl specification, or can it be deployed in the dtsx deployment package or stored in a variable, or how can I do this?

I searched a lot, but still no luck.

Any help would be really appreciated.

+4
source share
1 answer

To achieve this, one option would be to use the Script Task and using the .NET System.Net.WebClient , you can access the URL of the WSDL URL and load the contents of the WSDL file into the system temporary folder on the track. You can get the system temporary path to the folder, which is the value of the TEMP environment variable, using the .NET System.IO.Path.GetTempPath() method. Then, the created temporary path of the WSDL file can be stored in the SSIS package variable, which can then be configured in the Web Service Task for use instead of relying on the local path. Initially, during development, you will need to have a WSDL file on the local path, but after deploying the package during production, the WSDL file should not exist on the local drive.

Hope this helps.

+5
source

All Articles