Let's say you have an ASMX webservice written in C# or VB.NET or some other .NET language, and you want to call it from an ASP page written in VBScript.

There are a couple of ways to do this.

  1. Use the MS Soap Toolkit.
    http://www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=en

    But as the download page states, this toolkit will be retired in April 2005. This means Microsoft will no longer support its use.  This would mean, for example, that if a security bug were found in the toolkit after April 2005, Microsoft would not be bound to correct it and issue a patch.  Because of this, most developers are not writing new code on the SOAP Toolkit.
  2. Write a client of the webservice in C# (or VB.NET) and have that *client* expose a COM interface.  You would do this with tlbexp.exe and follow along the guidelines for COM--to-.NET interop.   In this case the ASP page would call the COM component, which would then act as the client to the webservice.
    http://msdn.microsoft.com/library/en-us/vbcn7/html/vaconIntroductionToCOMInteroperability.asp
  3. If the webservice is simple, then you may be able to use MSXML to make the call.  Here is an example.
    http://cheeso.members.winisp.net/srcview.aspx?dir=web-services&file=Soap-v4.js

    and here's an article covering that technique:
    http://www.eggheadcafe.com/articles/20001006.asp
  4. Use an alternative SOAP toolkit for COM-based environments (like VBScript).  PocketSOAP is one.
    http://www.pocketsoap.com/pocketsoap/

Are there other ways to do this? 


-Dino