有没有人有经典asp页面调用WCF服务的好例子?我看了
Calling REST web services from a classic asp page [closed]
它让我更接近,但我需要将参数传递给服务,我不知道如何用wcf做到这一点?目前我刚回到wsdl。
答案 0 :(得分:2)
最好的方法是在C#或VB.NET中创建一个类。此类将其公共方法公开为COM对象。所有类都将调用Web服务并返回结果。
然后,您就可以使用Classic ASP中的这个COM对象,它不会知道它与21世纪的联系。
顺便说一句,这是从VBSCRIPT重构功能并进入.NET现代世界的好方法 - 一次只做一个COM对象。稍后,如果您想要将页面转换为ASP.NET(或者从现在起十年后继续转换),您至少会将所有业务逻辑都考虑在内,并且ASP.NET将能够调用它。答案 1 :(得分:1)
您还可以使用MSXML2.ServerXMLHTTP对象在asp中进行调用。这是我调用我的一个服务并发送json有效负载的一个例子。
<script language="javascript" runat="server" src="/engine/includes/json2.js"></script>
<%
DIM xmlhttp, response, objRequest, txtRequest, test
DIM url : url = "https://myservice.com/Service.svc/json/Test"
SET objRequest = JSON.parse("{}")
objRequest.set "param1", "echo this text"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.setOption 2, 13056 'ignore certificate errors for development machines
xmlhttp.open "POST", url, false
xmlhttp.setRequestHeader "Content-Type", "application/json"
txtRequest = JSON.stringify(objRequest)
xmlhttp.send txtRequest
response = xmlhttp.responseText
Response.Write response
%>
对于JSON解析我正在使用DouglasCrockford的库 - https://github.com/douglascrockford/JSON-js/blob/master/json2.js