Call .NET ASMX from ASP
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.
Use the MS Soap Toolkit.
www.microsoft.com/downloads/details.aspx?FamilyId=C943C0DD-CEEC-4088-9753-86F052EC8450&displaylang=enBut 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.
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.
msdn.microsoft.com/library/en-us/vbcn7/html/vaconIntroductionToCOMInteroperability.aspIf the webservice is simple, then you may be able to use MSXML to make the call. Here is an example.
<cheeso.members.winisp.net/srcview.aspx?dir=web-services&file=Soap-v4.js>and here's an article covering that technique:
<www.eggheadcafe.com/articles/20001006.asp>Use an alternative SOAP toolkit for COM-based environments (like VBScript). PocketSOAP is one.
<www.pocketsoap.com/pocketsoap/>
Are there other ways to do this?
-Dino
Comments
- Anonymous
November 22, 2004
yes, try webservice.htc (http://msdn.microsoft.com/library/default.asp?url=/workshop/author/webservice/webservice.asp)
this's realy cool thing ;) - Anonymous
November 22, 2004
According to http://msdn.microsoft.com/workshop/author/behaviors/behaviors_node_entry.asp
...the webservice behavior enables client-side script to invoke remote methods exposed by Web Services, or other Web servers, that support the SOAP and Web Services Description Language (WSDL) 1.1.
Client-side script, not server-side script.
So yes, this gives you the ability to invoke a webservice, but not really from server-side ASP.
I have updated the title on this post accordingly. The original title was "Call .NET ASMX from VBScript" and now it is "Call .NET ASMX from ASP" .
- Anonymous
November 22, 2004
yes, webservice behavior is a client-side technics. but if you take a closer look at this webservice.htc source (jscript with some xml meta declarations) you'll find a complete set of soap/webservice operations (much more complete than at link #3 in original post). the only action needed is replacement of the client-side call (XMLHttp) to its server-side equivalent. - Anonymous
January 20, 2009
PingBack from http://www.hilpers-esp.com/620744-call-asmx-from-asp