【问题标题】:Leveraging SOAP in Classic ASP在经典 ASP 中利用 SOAP
【发布时间】:2008-10-30 16:34:24
【问题描述】:

澄清:这不是关于 用户代理 对页面的调用,而是经典 ASP 调用 ASP.NET!

我的应用程序正在从经典 ASP 过渡到 ASP.NET。有 50 万行代码,因此一次完全重写所有内容根本不合理,或者坦率地说,考虑到绝大多数经典 ASP 页面都可以正常工作,这是不明智的。我们翻译页面和功能,因为它们要进行修订无论如何,而不仅仅是因为它“酷”。

现在大约一半的页面已经转换,我们已经将一些关键功能转移到了 ASP.NET。我没有保留此功能的旧版本(这意味着要维护两个位置而不是一个),而是转向使用 SOAP 来公开此功能。

嗯...不是真的。相反,我们一直在使用我以前称之为“Poor Man's SOAP”的东西,尽管今天称它为 REST 很流行。我一直在使用 ServerXMLHTTP 联系目标页面,将一团 XML 捆绑起来并将其发布到 ASP.NET 端。为此,我一直在捆绑一些 XML 并使用 XPATH 将其分解为变量。

所有这些都运行得非常好。但是,我一直在考虑内置的 ASP.NET SOAP 功能,这似乎消除了为我的跨平台调用自定义编写登录页面的需要......但是当我查看从 Classic ASP 消费 SOAP 时,大多数建议使用看似贬值的肥皂工具包。

问题是;你们中有人有这种设置的经验吗?如果有,有没有比自定义 REST 页面或 Soap Toolkit 更好的方法?我认为能够更快地公开更多 ASP.NET 功能将有助于迁移,但我不想让自己陷入不必要的 Soap Toolkit 等遗留技术。

【问题讨论】:

    标签: asp.net rest soap asp-classic


    【解决方案1】:

    搜索了一下发现

    Calling REST web services from a classic asp page

    又链接到

    http://www.aspfree.com/c/a/ASP/Consuming-a-WSDL-Webservice-from-ASP/

    这就是我现在的工作方式,所以也许这是最好的解决方案?

    【讨论】:

      【解决方案2】:

      我将Prototype 与许多用于AJAX 调用的经典ASP 页面一起使用。对于我的数据层,我更喜欢使用 JSON 而不是 XML。 Ajax + JSON 比 SOAP + XML 更轻、更快、更容易处理。

      【讨论】:

      • 这不是关于客户端 SOAP,而是在同一台机器上调用 ASP.NET SOAP 的经典 ASP。
      【解决方案3】:

      我可以使用以下代码做到这一点,显然您需要更改一些内容,但希望这可以帮助您开始:

      Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")                          
      xmlhttp.open "POST", soapServer, False
      xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
      xmlhttp.setRequestHeader "SOAPAction", char(34) & "WebPlatform.WebServices/ISessionTokenServiceV1/CreateSessionToken" & char(34)
      
      xmlhttp.send soapMessage
      

      soapMEssage 将是您发送的soap 请求。 soapServer为web服务的url,如:http://localhost:8000/WebServices/SampleService.svc/BASIC

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多