Can you expand a bit on "large amount of data". Is this 200KB or 2GB
One option is to return the data in the web service response, but this would depend on how large it is and how long it takes to generate.
If you are going to create a file and download via Http then you are probably best to do this in a custom .NET component called from an orchestration. You component would accept the Url as a parameter and return an XmlDocument or Xlang message to the orchestration.
Another possibility is to use a request response Http port but this will require some code on the web site hosting the data. Rather than receiving the Url from the web service you would get a file name or identifier, you would then send this data to an ASP.NET/PHP/JSP web page that would return the large xml data file.
If this file is very large you may need a delay between calling the web service and attempting to download the file
What is the trigger that will start this process and what will you do with the data once your receive it in Biztalk?