代码之家  ›  专栏  ›  技术社区  ›  Godeke

在经典ASP中利用SOAP

  •  4
  • Godeke  · 技术社区  · 16 年前

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

    我有一些应用程序正在从经典的ASP过渡到ASP.NET。有50万行代码,所以一次完全重写所有内容是不合理的,或者坦率地说,考虑到绝大多数经典的ASP页面工作正常,谨慎的做法是不合理的。我们在页面和功能出现修订时进行翻译。 无论如何 不只是因为它“酷”。

    既然已经转换了大约一半的页面,我们已经将一些关键功能移到了ASP.NET上。我不再保留这个功能的旧版本(这意味着需要维护两个地方而不是一个),而是开始使用SOAP来公开这个功能。

    好。。。不是真的。相反,我们一直在使用我以前称之为“穷人的肥皂”,尽管今天称之为“休息”很时髦。我一直在使用ServerXMLHttp来联系目标页面,将一个XML球捆绑在一起并将其发布到ASP.NET端。为此,我将一些XML捆绑在一起,并使用xpath将其分解为变量。

    所有这些都非常有效。但是,我一直在考虑内置的ASP.NET SOAP功能,这似乎消除了为我的跨平台调用定制写登录页的需要…但是当我从经典的ASP中看到使用SOAP时,大多数人都建议使用看似贬值的SOAP工具包。

    问题是,你们中有人有过这种设置的经验吗?如果有,有没有比定制的休息页或SOAP工具包更好的方法呢?我认为能够更快地公开更多的ASP.NET功能将有助于迁移,但我不想让自己陷入像SOAP工具箱这样的遗留技术的不必要困境。

    3 回复  |  直到 13 年前
        1
  •  4
  •   Community CDub    7 年前

    做了更多的搜索我发现

    Calling REST web services from a classic asp page

    然后链接到

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

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

        2
  •  1
  •   Diodeus - James MacFarlane    16 年前

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

        3
  •  1
  •   wwilkins    15 年前

    我可以用以下代码来完成这项工作,显然您需要更改一些内容,但希望这可以让您开始工作:

    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